![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netty
Wonder ZH
国家注册规划师!
不知为何,转投程序猿
展开
-
Netty+Protobuf+Disruptor构建高性能应用服务器
github:https://github.com/54lyll/cooser码云:https://gitee.com/wind_zhou/cooser1服务器架构1.1简介Cooser是基于Netty框架搭建的Reactor模式高性能,可扩展的网络服务器。基于Netty对NIO的多路复用机制,高效利用cpu硬件资源,优化服务器并发连接性能,达到伸缩性要求。我司业务场景为常量连接(十百千),大量请求,作为底层TCP服务器,从数据传输体量、解析性能考虑,采用Google Proto...原创 2020-10-30 16:37:22 · 1743 阅读 · 2 评论 -
【Netty】——“请求-响应“同步通信机制
项目需求使用Netty搭建Tcp服务器,实现与Http Web服务器一样的同步“请求-响应”的单工同步通信方式。虽然Netty提供了异步IO和同步IO的统一实现,但是我们的需求关键并不是IO的同步异步关系,而是实现请求-响应这种典型的一问一答交互方式。要实现这个需求,需要解决两个问题:1.请求和响应的正确匹配客户端发送消息后,服务端返回响应结果,那么此结果怎么和客户端的请求正确匹配呢,即一个消息请求如何对应一个消息响应呢?解决思路:客户端程序中为每一条请求消息设置一个全局唯一id,服务端返回的响原创 2020-07-23 10:15:44 · 4605 阅读 · 12 评论 -
【Netty】——整合Google Protobuf
Google Protobuf 简介protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行工具,工具将自动生成相关的类,可以支持php、java、c++、python等语言环境。通过将这些类包含在项目中,可以很轻松的调用相关方法来完成业务消息的序列化与反序列化工作。 protobuf...原创 2020-07-22 14:35:20 · 611 阅读 · 0 评论 -
【Netty】——Reactor模式详解
我想大家都经历过学习优秀开源框架的痛苦,特别是第一次看源码,直接从一个类的方法一步步跳转下去的漩涡。极客时间里软件设计之美专栏提到:了解一个软件、框架的设计应该从三部分着手 ——模型、接口、实现。Netty的整体架构,基于了一个著名的模式——Reactor模式。Reactor模式,是高性能网络编程的必知必会模式,下面我们就从Reactor模式入手,来打开Netty学习的大门。为何要用Reactor最开始Java BIO网络编程思想是经典的connection per thread,即SocketSe原创 2020-06-05 15:46:00 · 1609 阅读 · 1 评论