网络通信
文章平均质量分 71
网络通信
技塑梦想
专注系统架构与计算机科学
快乐写作,认真生活
展开
-
揭秘Netty之——pipeline的设计与使用
责任链模式,相信大家都不陌生。tomcat、spring等各种开源产品中都有大量使用。责任链设计模式抽象如上图所示,责任链工程实现中,本质上是维护了一个链表或者数组,以及当前执行位置的索引currentIndex,每次调用责任链的doFilter()方法时,就会基于currentIndex执行下一个Filter。Netty中PipeLine的设计通过这个类图也可以大致看出netty中pipeline的设计也是采用了责任链模式,ChannelHandler外包装了一层ChannelHa原创 2021-04-22 00:17:43 · 828 阅读 · 0 评论 -
揭秘Netty之——线程模型以及网络编程抽象概念建模
Netty中所有的IO操作都是异步的,这是如何做到的呢?netty的高性能与它独有的线程模型设计有很大的关系,到底是怎么设计的?netty中reactor模式的线程模型号称是极品中的精品基于jdk中的线程池、Future等,netty做了哪些优化?从中可以感受到在多线程编程中如何设计一个好的Future、Promise?如何优雅地关闭一个线程池?对于周期任务,fix rate 与 fix delay有何区别?netty是如何将周期任务与普通任务合二为一实现的?核心实现类Multith原创 2021-04-19 23:53:58 · 100 阅读 · 0 评论 -
揭秘Netty之——快速启动netty
netty作为当今最为流行的网络通信框架之一,包括RPC、消息等中间件都在用,很有必要深入研究一下。下面从netty的快速启动开始分析。netty的启动包括服务端的启动与客户端的启动,入口主要是ServerBootstrap、Bootstrap。ServerBootstrap启动服务端,Bootstrap启动客户端。服务端的启动比较复杂,客户端启动相对简单。TCP握手过程启动的过程其实就是建立网络连接的过程,所以首先得回顾一下TCP的三次握手和4次挥手。建立连接的过程断开连接的.原创 2021-04-16 00:40:49 · 176 阅读 · 0 评论