• KafkaServer类比电信服务中心


    SocketServer相当于一个电信服务中心,Acceptor 线程相当于一个接线人员,负责接线。
    SocketChannel相当于一个建立好的传声筒,Processor相当于客服人员,负责处理用户通过SocketChannel这个传声筒发送过来的技术问题(读写请求)。Processor并不懂技术(如何处理读写请求),所以当他监听到SocketChannel发送过来的技术问题(请求请求)时候,他把这个请求放到RequestChannel中去,RequestChannel相当于是客服链接后台专业电信技术人员的一条传声筒。
    后台的专业电信技术人员叫KafkaRequestHandler,后台由于不止一个专业电信技术人员,他们共同组成了一个技术服务组(KafkaRequestHandlerPool)。这里是真正处理Socket发来的请求的地方。技术人员(KafkaRequestHandler)从这个RequestChannel中取出一个技术问题。查找专业技术文档库(调用KafkaApis接口)完成这个问题,然后把答案(响应)写到RequestChannel响应队列中去。Processor看到RequestChannel中有答案的时候,就会把这个答案通过SocketChannel这个传声筒发送给提问的用户。

  • 相关阅读:
    dota监测
    R0:前瞻
    Python基础
    c++成员函数
    异步IO简介
    使用自定义类型做qmap,qhash的key
    c++ primer 7 函数
    c++ primer 6 语句
    c++ primer 5 表达式
    c++ primer 4 数组和指针
  • 原文地址:https://www.cnblogs.com/lukairui/p/14842601.html
Copyright © 2020-2023  润新知