当前标签: Netty
常用设计模式的实现,以及Netty中的设计模式
1.观察者模式 有两个角色,观察者和被观察者。当被观察者发出消息后,注册了的观察者会收到其消息,而没有注册的观察者就不会收到。 //定义观察者接口 interface Observer{ //通知观察者 void notify(String message); } //定义被观察者 interface Obs...
2020-05-07 17:16
阅读(71)
java架构之路-(netty专题)初步认识BIO、NIO、AIO
本次我们主要来说一下我们的IO阻塞模型,只是不多,但是一定要理解,对于后面理解netty很重要的 IO模型精讲 IO模型就是说用什么样的通道进行数据的发送和接收,Java共支持3种网络编程IO模式:BIO,NIO,AIO。 BIO BIO(Blocking IO) 同步阻塞模型,一个客户端连接...
2020-02-13 14:55
阅读(47)
Netty(DotNetty)原理解析
一、背景介绍 DotNetty是微软的Azure团队,使用C#实现的Netty的版本发布。不但使用了C#和.Net平台的技术特点,并且保留了Netty原来绝大部分的编程接口。让我们在使用时,完全可以依照Netty官方的教程来学习和使用DotNetty应用程序。 Netty 是一个异步事件驱动的网络应用程序框架,...
2019-07-23 14:17
阅读(550)
Netty基础系列(3) --彻底理解NIO
前言 上一节中我们提到了同步异步与阻塞非阻塞的区别,知道了同步并不等于阻塞。而本节的主角NIO是一种同步非阻塞的I/O模型,并且是I/O多路复用模型 。NIO在java中被称为 New I/O。它并不能提高I/O处理的效率,注意我这里说的是效率,而从根本上解决的是I/O处理的并发问题。 那么NIO的本质是什么样的...
2019-04-30 11:45
阅读(238)
实现分布式服务注册及简易的netty聊天
现在很多地方都会用到zookeeper, 用到它的地方就是为了实现分布式。用到的场景就是服务注册,比如一个集群服务器,需要知道哪些服务器在线,哪些服务器不在线。 ZK有一个功能,就是创建临时节点,当机器启动应用的时候就会连接到一个ZK节点,然后创建一个临时节点,那么通过获取监听该路径,并且获取该路径下的...
2019-01-12 15:34
阅读(200)
如何使用Netty技术设计一个百万级的消息推送系统
先简单说下本次的主题,由于我最近做的是物联网相关的开发工作,其中就不免会遇到和设备的交互。 最主要的工作就是要有一个系统来支持设备的接入、向设备推送消息;同时还得满足大量设备接入的需求。 所以本次分享的内容不但可以满足物联网领域同时还支持以下场景: * 基于 WEB 的聊天系统(点对点、群聊)。 * WE...
2018-10-14 20:57
阅读(83)
Netty单机百万连接及优化
单机百万连接调优 实现单机的百万连接,瓶颈有以下几点: * 如何模拟百万连接 * 突破局部文件句柄的限制 * 突破全局文件句柄的限制 在linux系统里面,单个进程打开的句柄数是非常有限的,一条TCP连接就对应一个文件句柄,而对于我们应用程序来说,一个服务端默认建立的连接数是有限制的。 如何模拟百万...
2018-08-18 23:09
阅读(496)
NIO高级编程与Netty框架(基于分布式开源框架dubbo,Zookeeper,RocketMQ底层rpc通讯使用的netty框架)
NIO同步阻塞与同步非阻塞 一:BIO与NIO区别: 本质就是阻塞和非阻塞的区别 阻塞概念:程序在获取网络数据时,网络延迟,会一直等待。直到传输完毕为止。 非阻塞概念:应用程序可以直接获取已经准备好的数据,无需等待。二:IO为同步阻塞形式,NIO为非同步阻塞形。 NIO:起初并没有实现异...
2018-07-11 18:41
阅读(231)