摘要: 前言: 上节给大家把sentinel流控整个执行大致过了,但涉及到最核心的流控算法还没有讲,先提前说明一下 sentinel用的流控算法是令牌桶算法,参考了Guava的RateLimiter,有读过RateLimiter源码再理解sentinel限流算法会更容易,本节依然以源码为主给大家拨开sent 阅读全文
posted @ 2021-02-05 11:50 努力工作的小码农 阅读(467) 评论(1) 推荐(1) 编辑
摘要: 前言: sentinel是阿里针对服务流量控制、熔断降级的框架,如何使用官方都有很详细的文档,下载它的源码包 里面对各大主流框都做了适配按理,本系列文章目的 主要通过源码分析sentinel流量控制和熔断降级的流程 提前准备好sentinel控制台 如有下载源码启动sentinel dashboar 阅读全文
posted @ 2021-02-04 10:25 努力工作的小码农 阅读(1025) 评论(8) 推荐(3) 编辑
摘要: 配置文件想必大家都很熟悉,无论什么架构 都离不开配置,虽然spring boot已经大大简化了配置,但如果服务很多 环境也好几个,管理配置起来还是很麻烦,并且每次改完配置都需要重启服务,nacos config出现就解决了这些问题,它把配置统一放到服务进行管理,客户端这边进行有需要的获取,可以实时对 阅读全文
posted @ 2021-01-11 16:43 努力工作的小码农 阅读(2904) 评论(1) 推荐(1) 编辑
摘要: 前言:nacos 玩过微服务的想必不会陌生,它是阿里对于springcloud孵化出来的产品,用来完成服务之间的注册发现和配置中心,其核心作用我就不废话了,提前去github下载好nacos的源码包和启动nacos server 大致流程:每个服务都会有一个nacos client,它用来和naco 阅读全文
posted @ 2021-01-07 17:08 努力工作的小码农 阅读(10815) 评论(2) 推荐(0) 编辑
摘要: 客户端像服务端发送消息,服务端不知道客户端每次发送消息的数据大小,服务端可能出现把一个数据包拆成两个数据包进行读取这种被称为拆包,也有可能把两个数据包当成一个数据包读取这种被称为粘包 如下图所示,客户端像服务端发送了两个数据包dataA和dataB,但服务端实际收到可能有四种情况 一次性读到data 阅读全文
posted @ 2020-12-29 17:11 努力工作的小码农 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 既然是网络通信那么心跳检测肯定是离不开的,netty心跳检测分为读、写、全局 bootstrap.childHandler(new ChannelInitializer<SocketChannel>() { @Override protected void initChannel(SocketCha 阅读全文
posted @ 2020-12-28 22:39 努力工作的小码农 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 我们在讲解服务端和客户端时经常会看到提交一个任务到channel对应的EventLoop上,后续的io事件监听和任务执行都在EventLoop完成,可以说EventLoop是netty最核心的组件,我们接下来一一分析 剥开这层神秘的面纱 提交一个连接任务异步执行 channel.eventLoop( 阅读全文
posted @ 2020-12-28 17:15 努力工作的小码农 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 服务端启动流程 我们回顾前面讲解的netty启动流程,服务端这边有两个EventLoopGroup,一个专门用来处理连接,一个用来处理后续的io事件 服务端启动还是跟nio一样,绑定端口进行监听,我们先来看绑定流程 // 绑定端口并同步阻塞直到绑定结束 ChannelFuture cf = serv 阅读全文
posted @ 2020-12-27 22:20 努力工作的小码农 阅读(402) 评论(0) 推荐(0) 编辑
摘要: channel介绍: netty中channel分为NioServerScoketChannel和NioSocketChannel,分别对应java nio中的ServerScoketChannel和SocketChannel channel、pipeline、context、handler关系 S 阅读全文
posted @ 2020-12-25 14:10 努力工作的小码农 阅读(989) 评论(1) 推荐(0) 编辑
摘要: 这节我们着重介绍netty最为核心的组件EventLoopGroup和EventLoop EventLoopGroup:顾名思义就是EventLoop的组,下面来看它们的继承结构 在netty中我们可以把EventLoop看做一个线程,当然线程不单是jdk中的的线程,它们都从Executor一路继承 阅读全文
posted @ 2020-12-23 22:21 努力工作的小码农 阅读(909) 评论(0) 推荐(0) 编辑