
EventMesh源码
文章平均质量分 65
@@老胡
思考与实践并行,努力成为发现和解决问题的人
展开
-
云原生是什么
互联网架构的演进原创 2021-08-18 16:46:23 · 6185 阅读 · 0 评论 -
Windows下安装rocketMQ和插件以及一下问题的解决
一、什么是rocketMQrocketMQ是一个消息中间件,和 kafka,RabbitMq 一样,类似一个装零食的篮子,生产者向篮子提供零食(消息),消费者再从篮子取零食(消息),这样就算生产者生成再多零食(消息)消费者只拿自己消化的掉的,不拿多的,保证自己不会被撑破。而且如果一个篮子装满了,还可以加多几个篮子,这就是集群。零食有很多的种类,每一种都是一条主题(topic)。简单来讲,就是如果生成者和消费者之间直接通信,生产者发消息的速度大于消费者接收信息的速度,很容易造成系统宕机,也就是消费者无法原创 2021-07-18 17:52:59 · 583 阅读 · 5 评论 -
git 学习,小白第一次学习
git安装盲选下一步就可以了,安装路径可以自定义选择,比如我的安装路径是D:\git\install\Gitgit卸载其实就是git的反安装,首先删除git的环境变量(如果有的话),然后就在控制面板上直接删除就可以了。git的配置git 的配置都是在git的安装目录下相关的配置文件里面,也就是git的配置本质上是git的一些读写文件而已git的相关配置文件的路径(1)系统配置,是在安装路径/etc/gitconfig文件下,如D:\git\install\Git\etc(2)用户配置原创 2021-07-28 14:14:57 · 139 阅读 · 0 评论 -
EventMesh源码解析系列之tcp的pub/sub
pub和sub的实现-tcpEventmesh-sdk-java作为客户端,与eventmesh-runtime通信,用于完成消息的发送和接收。那么pub和sub作为客户端,在eventmesh中是怎么实现的?结构我们首先看到sdk-java中tcp这一部分的结构:common部分定义了tcp协议下广播消息、异步消息都会用到的公共方法,impl是对tcp的pub和sub的真正实现。下面来具体介绍一下三个实现类的功能,下面是对应的类图:DefaultEventMeshClient:实原创 2021-10-09 15:44:26 · 734 阅读 · 0 评论 -
EventMesh源码解析系列之TCP源码
TCP处理逻辑启动bootstrap组装好组件之后绑定到tcp的端口,并初始化处理器,时刻监听是否有客户端请求连接。 private void startServer() throws Exception { Runnable r = () -> { ServerBootstrap bootstrap = new ServerBootstrap(); // 定义一些管道属性 bootstrap.原创 2021-10-09 15:40:59 · 423 阅读 · 0 评论 -
EventMesh源码解析系列之http处理
http处理上次讲到,当channel被注册之后,这个类中的initChannel方法就会被调用,就会实现在管道后面加入handlers。那具体的,我们的http是怎样处理消息的? class HttpsServerInitializer extends ChannelInitializer<SocketChannel> { ... // 在管道后面加入handlers pipeline.addLast(new HttpRequestDe原创 2021-10-09 15:36:24 · 420 阅读 · 0 评论 -
EventMesh源码解析系列之HTTP的启动
HTTP的启动首先我们先将一下启动前的准备工作,也就是HTTPServer的初始化。在EventMeshServer初始化的时候,会连带这初始化EventMeshHTTPServer,下面我就几点做出说明:在初始化的时候,会初始化多个线程池,这个线程池中会有许多的阻塞的线程队列,当某一种事件发生的时候,就会根据事件来使用线程池工厂来为事件创建线程。【下面是源代码】public void initThreadPool() throws Exception { // 批处理消息原创 2021-10-09 15:10:59 · 744 阅读 · 0 评论