大神Doug Lea在http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf 里详细介绍了java nio的实现思路,里面也详细介绍了reactor模式,后文统一称为老爷子的文章。 看这篇文章建议先了解下linux中的文件描述符与套接字socket redis中的IO多路复用select和epoll 传统阻塞I/O模型 以上图片摘自大神Doug lea 的nio。 特点 一个后端线程只能处理一个客户端请求 采用I/O阻塞的模式处理客户端请求 分析 随着并发量上升,后端资源有限的情…

2022/01/06 0条评论 259点热度 0人点赞 阅读全文

生成脚手架 随着新框架的不断稳定(同时也带来了不错的收益),新的项目以及重构项目不断的往新框架上切,基于这个原因,要把新框架整一个脚手架。 脚手架中包含了demo(为了学习而框架,实际开发中会有一些便利性的调整) 注意事项 依赖maven环境,必须配置MVAVA_HOME 依赖jdk环境(一定要jdk,不要jre) maven-archetype 的模板使用velocity 引入插件以及自定义配置文件 先找一个可以跑起来的demo,在pom文件中引入脚手架的maven plugin 我的工程结构如下: 项目地址:h…

2021/11/29 0条评论 649点热度 0人点赞 阅读全文

创建eureka-server项目 主要看下配置文件 server: port: 8765 # 开启优雅停机kill -2 可以优雅停机 shutdown: GRACEFUL eureka: #此处设置会改变eureka控制台System Status的显示 datacenter: cloud #此处设置会改变eureka控制台System Status的显示 environment: dev instance: appname: eureka-server lease-renewal-interval-in-se…

2021/11/24 0条评论 411点热度 0人点赞 阅读全文

什么是docker-compose? docker-compose是docker的容器编排工具。通过配置yml文件来compose 我们开发过程中所需要的服务。 ps: 虽然生产上大部分用的是k8s,但是我们自己开发的时候,可以用docker-compose 来快速的起服务,用什么起什么,极其方便。(至于安装,在这里不做过多的讲解) 先看下实例 docker-compose-mysql.yml version: '3' #基于compose哪个版本定制,1已经废弃,目前2和3 services:…

2021/11/24 0条评论 393点热度 0人点赞 阅读全文

没错,又来了,一个项目的结束,就会复盘并完善下。 传统开发的弊病: 通过事务脚本模式来开发需求; 开发人员热衷于技术并通过技术手段解决问题,而不是深入思考和设计业务的走向; 过于重视数据库,围绕数据库和数据模型进行建模,按数据流程进行建模; 按技术视角进行业务命名,导致后续迭代以及人员更替时,产品和技术无法对齐; 随着业务的发展,到后续业务、技术无法沟通,各种不理解; 业务希望技术出排期,技术得撸代码,耗费精力; 代码开发的过程中技术和业务耦合,一个场景一个服务,代码流水线; 因为技术的问题会导致业务流程的中断,导…

2021/09/20 0条评论 397点热度 0人点赞 阅读全文

基于springcloud的灰度实现方案(一) 基于springcloud的灰度实现方案(二) @Configuration配置加载分析 之前介绍了灰度方案以及实现,分析feign调用的时候,有点不太尽兴,这次再丰富一下。 首先,我们在feign调用时,使用了FeignClient注解。 #接口调用 @FeignClient("demo-service") public interface DemoServiceFeginClient { } # 开启feign @EnableFeignClie…

2021/09/14 0条评论 495点热度 0人点赞 阅读全文

设计模式是软件设计中常见问题的典型解决方案。它们就像能根据需求进行调整的预制蓝图, 可用于解决代码中反复出现的设计问题。 设计模式相对比较软性,是对解决某类场景问题的高层描述; 根据使用人的不同应用的也不同 只是一种思想,没有好坏之分,只有更适合; 我们应该关注要达到什么样的目的,怎么更加灵活的做到; 软件中唯一不变的是变化,设计模式让我们想各种方法屏蔽这种变化; 设计模式包含: 意图:简单描述问题和解决方案 动机:进一步解释问题并说明模式会如何提供解决方案; 结构:如何将软件结构组装起来并形成关系 设计原则: S…

2021/08/19 0条评论 295点热度 0人点赞 阅读全文

zset的数据结构 在redis中有一个有序列表,它的底层是由压缩列表或跳表组成。我们看下对应的数据结构 压缩链表: 跳表: 下载下来4.0的源码 https://download.redis.io/releases/redis-4.0.0.tar.gz 对应的源码: src/server.h # 最大层级 #define ZSKIPLIST_MAXLEVEL 32 /* Should be enough for 2^32 elements */ # 表示上一层级是下一层级的1/4,相当于是一棵四叉树 #defin…

2021/07/23 0条评论 357点热度 0人点赞 阅读全文

什么是布隆过滤器? 布隆过滤器(Bloom Filter)是1970年由布隆提出的本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构,特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。 特点: 二进制数组+随机hash 空间效率和查询效率都优于一般算法 O(1) 有一定的误识别率(散列冲突) 删除困难(重合) 高并发场景下,防止缓存穿透; 数据结构 如何快速定位一个元素是否存在? 我们通过redis的全局hash表或者hashMap就能解决这个问题; 看上面的数据结构,两个数据结构差…

2021/07/22 0条评论 347点热度 0人点赞 阅读全文

上周分享了一篇文章(DDD的应用框架实践分享) 周五又在内部将给大家分享了下。现将分享内容与大家分享。 传统开发的弊病: 通过事务脚本模式来开发需求; 开发人员热衷于技术并通过技术手段解决问题,而不是深入思考和设计业务的走向; 过于重视数据库,围绕数据库和数据模型进行建模,按数据流程进行建模; 按技术视角进行业务命名,导致后续迭代以及人员更替时,产品和技术无法对齐; 随着业务的发展,到后续业务、技术无法沟通,各种不理解; 业务希望技术出排期,技术得撸代码,耗费精力; 代码开发的过程中技术和业务耦合,一个场景一个服务…

2021/07/19 0条评论 462点热度 0人点赞 阅读全文
12
watch series tv series freewatch series hdWatch The Boys Presents: Diabolical 2022 Free OnlineWatch The Matrix Resurrections 2021 Free OnlineWatch Venom: Let There Be Carnage 2021 Free Online