个人简介

Echo Blog


江湖无名 安心练剑
  • Netty-10-ChannelPipeline API
    ChannelPipeline 接口 每一个新创建的Channel都将会被分配一个新的ChannelPipeline。这项关联是永久性的;Channel既不能附加另外一个ChannelPipeline,也不能分离当前的。 根据事件的起源,事件将会被ChannelInboundHandler或者ChannelOutboundHandler处理。随后,会调用ChannelHandlerCon...
    2017-11-16 11:23:06 | Netty
  • Netty-09-ByteBuf API
    引言 ByteBuf 是对 ByteBuffer 的改进。可见一个接口设计的不好,就会被别人推翻。实现不好就算了,接口一定要设计好。 个人理解 学习的时候知道关键的概念,和固定的方法分类。 理解每一种方法的使用场景,但是不需要记忆。 对比学习。netty 是对 ByteBuffer 的改良。结合一起理解,会更加简单。 ...
    2017-11-16 11:23:06 | Netty
  • Netty-08-数据传输之 BIO NIO
    基础知识 Internet(全球互联网)是无数台机器基于TCP/IP协议族相互通信产生的。TCP/IP协议族分了四层实现,链路层、网络层、传输层、应用层。 与我们应用开发者接触最多的应该是应用层了,例如web应用普遍使用HTTP协议,HTTP协议帮助我们开发者做了非常多的事情,通过HTTP足以完成大部分的通信工作了,但是有时候会有一些特殊的场景出现,使得HTTP协议并不能得心应手的完成工...
    2017-11-16 11:23:06 | Netty
  • Netty-08-数据传输之 Netty
    模型 NIO模型 同步非阻塞 NIO有同步阻塞和同步非阻塞两种模式,一般讲的是同步非阻塞,服务器实现模式为一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。 AIO模型 异步非阻塞 服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理,注:AIO又称为N...
    2017-11-16 11:23:06 | Netty
  • Netty-08-linux 通讯模型之 Reactor
    Reactor 模式是什么 白皮书 libevent 的设计是一个典型的Reactor模型,理解Reactor模型是理解libevent的基石,因此本节主要介绍典型的事件驱动设计模式—Reactor模式 The Reactor design pattern handles service requests that are delivered concurrently to an ap...
    2017-11-16 11:23:06 | Netty
  • Netty-08-linux 通讯模型之 epoll
    文章会从网卡接收数据的流程讲起,串联起 CPU 中断、操作系统进程调度等知识; 再一步步分析阻塞接收数据、select 到 epoll 的进化过程; 最后探究 epoll 的实现细节。 一、从网卡接收数据说起 下边是一个典型的计算机结构图,计算机由 CPU、存储器(内存)与网络接口等部件组成,了解 epoll 本质的第一步,要从硬件的角度看计算机怎样接收网络数据。 下图展示了网...
    2017-11-16 11:23:06 | Netty
  • Netty-08-linux 通讯模型之 epoll
    epoll 直到Linux2.6才出现了由内核直接支持的实现方法,那就是epoll,被公认为Linux2.6下性能最好的多路IO就绪通知方法。epoll可以同时支持水平触发和边缘触发(Edge Triggered,只告诉进程哪些文件描述符刚刚变为就绪状态,它只说一遍,如果我们没有采取行动,那么它将不会再次告知,这种方式称为边缘触发),理论上边缘触发的性能要更高一些,但是代码实现相当复杂。e...
    2017-11-16 11:23:06 | Netty
  • Netty-08-linux 通讯模型之 poll
    Poll poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,如果设备就绪则在设备等待队列中加入一项并继续遍历,如果遍历完所有fd后没有发现就绪设备,则挂起当前进程,直到设备就绪或者主动超时,被唤醒后它又要再次遍历fd。 这个过程经历了多次无谓的遍历。 它没有最大连接数的限制,原因是它是基于链表来存储的,但是同样有一个缺点: 1、大...
    2017-11-16 11:23:06 | Netty