![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
EventMesh源码
文章平均质量分 62
@@老胡
思考与实践并行,努力成为发现和解决问题的人
展开
-
EventMesh源码解析系列之tcp的pub/sub
pub和sub的实现-tcp Eventmesh-sdk-java作为客户端,与eventmesh-runtime通信,用于完成消息的发送和接收。 那么pub和sub作为客户端,在eventmesh中是怎么实现的? 结构 我们首先看到sdk-java中tcp这一部分的结构:common部分定义了tcp协议下广播消息、异步消息都会用到的公共方法,impl是对tcp的pub和sub的真正实现。 下面来具体介绍一下三个实现类的功能,下面是对应的类图: DefaultEventMeshClient:实原创 2021-10-09 15:44:26 · 625 阅读 · 0 评论 -
EventMesh源码解析系列之TCP源码
TCP 处理逻辑 启动 bootstrap组装好组件之后绑定到tcp的端口,并初始化处理器,时刻监听是否有客户端请求连接。 private void startServer() throws Exception { Runnable r = () -> { ServerBootstrap bootstrap = new ServerBootstrap(); // 定义一些管道属性 bootstrap.原创 2021-10-09 15:40:59 · 369 阅读 · 0 评论 -
EventMesh源码解析系列之http处理
http处理 上次讲到,当channel被注册之后,这个类中的initChannel方法就会被调用,就会实现在管道后面加入handlers。那具体的,我们的http是怎样处理消息的? class HttpsServerInitializer extends ChannelInitializer<SocketChannel> { ... // 在管道后面加入handlers pipeline.addLast(new HttpRequestDe原创 2021-10-09 15:36:24 · 361 阅读 · 0 评论 -
EventMesh源码解析系列之HTTP的启动
HTTP的启动 首先我们先将一下启动前的准备工作,也就是HTTPServer的初始化。 在EventMeshServer初始化的时候,会连带这初始化EventMeshHTTPServer,下面我就几点做出说明: 在初始化的时候,会初始化多个线程池,这个线程池中会有许多的阻塞的线程队列,当某一种事件发生的时候,就会根据事件来使用线程池工厂来为事件创建线程。【下面是源代码】 public void initThreadPool() throws Exception { // 批处理消息原创 2021-10-09 15:10:59 · 648 阅读 · 0 评论