Intro: After some feedback on Part 1, and being prompted by some stackoverflow questions, I want to expand on and clarify some topics, so this is Part 1.5. Channel Handler Sharability & State Channel Options Channel Handlers As discussed previously,…
Netty Tutorial, Part 1: Introduction to Netty Update:  Part 1.5 Has Been Published: Netty Tutorial Part 1.5: On Channel Handlers and Channel Options From the Netty web site: "Netty is a NIO client server framework which enables quick and easy develop…
The channel is divided into two categories: unbuffered and buffered. (1) Unbuffered channelFor unbuffered channel, the sender will block on the channel until the receiver receives the data from the channel, whilst the receiver will also block on the…
创建一个channel实例,并把它register到eventLoopGroup中之后,这个channel然后处于inactive状态,仍然是不可用的.只有在bind或connect方法调用成功之后才能正常.因此bind或connect算是channel初始化的最后一步,本章这就重点分析这两个功能的实现. 接下来的代码分析如果没有特别说明,都是以NioSocketChannel为例. bind实现 bind方法的调用栈如下: io.netty.channel.AbstractChannel#bi…
背景:利用kafka+flume+morphline+solr做实时统计. solr从12月23号开始一直没有数据.查看日志发现,因为有一个同事加了一条格式错误的埋点数据,导致大量error. 据推断,是因为使用mem channel占满,消息来不及处理,导致新来的数据都丢失了. 修改flume使用file channel: kafka2solr.sources = source_from_kafka kafka2solr.channels = file_channel kafka2solr.s…
Fibre Channel也就是"网状通道"的意思,简称FC.   由于Fiber和Fibre只有一字之差,所以产生了很多流传的误解. FC只代表Fibre Channel,而不是Fiber Channel,后者被翻译为"光纤通道",甚至接口为FC的磁盘也被称为"光纤磁盘",其实这些都是很滑稽的误解.FC与光纤根本就没有必然的联系.   Fibre Channel可以称为FC协议,或FC网络.FC互联.像TCP/IP一样,FC协议集同样具备TCP…
1. Netty简介 Netty是由JBOSS提供的一个java开源框架.它提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序.Netty是一个基于NIO的客户端/服务器端编程框架. Netty的成功案例:Alibaba Dubbo, HornetQ, Vert.x, Apache Cassandra, and Elastic Search上述著名产品都使用Netty编写其核心的网络通信模块. 2. Netty核心组件 ■ Channels■ Ca…
[源码解析] 消息队列 Kombu 之 基本架构 目录 [源码解析] 消息队列 Kombu 之 基本架构 0x00 摘要 0x01 AMQP 1.1 基本概念 1.2 工作过程 0x02 Poll系列模型 2.1 select 2.2 poll 2.3 epoll 2.4 通俗理解 2.4.1 阻塞I/O模式 2.4.2 非阻塞模式 2.4.2.1 代理模式 2.4.2.2 epoll 0x03 Kombu 基本概念 3.1 用途 3.2 术语 0x04 概念具体说明 4.1 概述 4.2 Co…
[源码分析] 消息队列 Kombu 之 启动过程 0x00 摘要 本系列我们介绍消息队列 Kombu.Kombu 的定位是一个兼容 AMQP 协议的消息队列抽象.通过本文,大家可以了解 Kombu 是如何启动,以及如何搭建一个基本的架子. 因为之前有一个综述,所以大家会发现,一些概念讲解文字会同时出现在后续文章和综述之中. 0x01 示例 下面使用如下代码来进行说明. 本示例来自https://liqiang.io/post/kombu-source-code-analysis-part-5系列…
[源码分析] 消息队列 Kombu 之 Hub 0x00 摘要 本系列我们介绍消息队列 Kombu.Kombu 的定位是一个兼容 AMQP 协议的消息队列抽象.通过本文,大家可以了解 Kombu 中的 Hub 概念. 0x01 示例代码 下面使用如下代码来进行说明. 本示例来自https://liqiang.io/post/kombu-source-code-analysis-part-5系列,特此深表感谢. def main(arguments): hub = Hub() exchange =…