我们使用curator建立连接,curator有session维护,重试机制,对递归创建节点和删除节点有较好的支持: RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3); CuratorFramework client = C Read More
收集医院设备信息时由于消息为较短的json字符串,所以我们使用netty的自定义协议进行简单的数据接收。 协议约定为:head(实际消息的字节长度)+body(实际需要解析的json数据) 解码器如下,分为两步骤,最后我们获取json字符串进行处理,如果想要使用byte[]直接解析,请忽略第二个解码 Read More
nio中ByteBuffer和netty中的ByteBuf相比确实后者更加的好用: (1)ByteBuf可以在用户使用数据区空间不足的情况下以2的指数倍扩容,相比ByteBuffer的char数组是final修饰的,一旦需要扩容只能人为手动干预,并且只能重新申请数组并copy才可以。 (2)Byte Read More
在netty编程中我们绝大多数是要是用nio的,nio相比传统的io更加高效,而nio中核心概念离不开channel,buffer,selector三个重要的对象。 那么在netty中有一个channelPipeline的概念,表面理解起来是通道的意思,实际它是在数据传输过程中的通道容器。 之所以定 Read More
reactor中包含5个核心结构,那么从操作系统低层次的调度来看5部分是这样的。 (1)Handle(句柄资源描述符)本质是对客户端连接上来以后发生事件的处理机制,比如连接成功,读取数据,发送数据等状态。 (2)同步事件分离器,相对于nio来说可以理解为selector,对于客户端过来的事件需要一个 Read More