01 2017 档案
摘要:RocketMQ的主要特点以及实现方式 单机支持1万以上持久队列 所有数据单独存储到一个CommitLog,完全顺序写,随机读 在一个broker上一个DefaultMessageStore管理一个commitLog 顺序写:在commitLog.putMessage里面获取mapedFile之后进
阅读全文
摘要:Consumer consumer pull message 订阅 在Consumer启动之前先将自己放到一个本地的集合中,再以后获取消费者的时候会用到,同时会将自己订阅的信息告诉broker 接收消息 consumer启动的时候会启动两个service: RebalanceService:主要实现
阅读全文
摘要:Producer 消息发送 producer start producer启动过程如下图 消息发送流程 消息发送过程:先由producer封装通过netty发送到broker,然后由broker进行保存,过程如下 ============================= producer发送消息
阅读全文
摘要:NameServer 作用:Producer和Consumer获取Broker的地址 目的:解耦Broker和Producer、Consumer 原理:使用netty作为通信工具,监听指定端口,如果是broker注册,将broker的信息保存在内存中并保存到文件中,producer和consumer
阅读全文
摘要:RocketMQ quikstart 获取源码 编译打包 这是一个maven工程,官方给出了编译打包的脚本install.sh,主要就是 生成idea工程文件 生成工程文件就可以使用IDE直接打开 设置环境变量 上面创建了devenv软连接 cd devenv 将devenv目录作为ROCKETMQ
阅读全文
摘要:Decorate 动态的将需要的逻辑添加在对象的现有方法上,提供了比继承更有弹性的替代方案 目的 动态给一个对象添加逻辑(不使用继承) 实现方式 装饰者和被装饰者继承自同一个超类 装饰者作为一个abstract类,其他decorator继承他 在装饰者中调用被装饰者的方法,所以在构造装饰者的时候必须
阅读全文
摘要:Adapter 适配器 已有接口A和B,在不修改A、B的情况下,A要为B所用,这个时候需要一个中间人来承担将A的接口封装成为B可以使用的接口,这里的“中间人”就是适配器——adapter 目的 转换接口 优点 无需改动现有代码 便于在原有系统上进行扩展 实例 CoyoteAdapter Coyote
阅读全文

浙公网安备 33010602011771号