Skip to content

Releases: minbox-projects/message-pipe

1.0.6

07 Apr 01:43
Compare
Choose a tag to compare
  • 修改每个消息管道调度及监控线程为守护线程,不再使用线程池
  • 修改消息管道过期清理阈值
  • 升级GRPC版本为1.45.1

1.0.5

31 Mar 03:00
Compare
Choose a tag to compare
  • 判定RedisMessageListenerContainer实例不存在时不进行初始化相关监听类
  • 修改检测客户端过期失效的频率
  • 新增检查是否存在有效的健康实例
  • nacos方式客户端刷新时判定存在指定metadata才进行更新服务列表
  • putLast方法新增加锁不加锁的区分
  • 核心线程数量不再使用message pip最大限制数量
  • 新增清理过期message pipe定时线程
  • RLock解锁时的判定是否属于当前线程

1.0.4

24 Nov 01:37
Compare
Choose a tag to compare
  • 添加服务端排序处理消息管道名称正则表达式配置
  • 适配minbox-parent v1.0.4版本

1.0.3.RELEASE

11 Sep 05:18
Compare
Choose a tag to compare

✨ New Features

  • [ #79 ] 新增消息元数据概念,自定义每次处理消息的扩展字段
  • [ #80 ] 修改消息管道MessagePipe通过Redisson处理队列消息时的序列化实现方式为Jackson
  • [ #90 ] 新增事件,当从消息管道阻塞队列内获取消息时触发

🎨 Optimizations

  • [ #83 ] 灵活配置消息管道使用Redisson的不同Codec
  • [ #85 ] 删除MessageProcessingEvent相关无用代码
  • [ #87 ] MessagePipeManager#createMessagePipe方法返回新创建的消息管道实例

1.0.2.RELEASE

04 Sep 08:54
Compare
Choose a tag to compare

✨ New Features

  • [ #75 ] 每个消息管道新增 ”MessagePipeDistributor“,用于自动分发管道内的消息

🐛 Fix Bugs

  • [ #77 ] 如果消息管道的数量超出配置上限,抛出异常提醒

🎨 Optimizations

  • [ #68 ] Server分发消息逻辑重构,优化线程池内线程占用CPU的使用率
  • [ #70 ] 废除 “MessageDistributionExecutor” 概念,修改为 “MessageScheduler”
  • [ #71 ] 废除 "MessagePipeMonitor" 公共消息管道监听器,为每个消息管道内的消息添加 "MessageMonitor"
  • [ #72 ] 重构消息管道 "MessagePipe" ,内聚操作管道内消息的方法

1.0.1.RELEASE

28 Aug 09:42
Compare
Choose a tag to compare

✨ New Features

  • [ #39 ] Client通过 "Cglib动态代理" 的方式实现动态绑定管道
  • [ #40 ] Client/Server 通过正则表达式进行匹配 "pipeName"
  • [ #41 ] 禁用Server接收注册请求后根据每一个"Pipe Name"创建消息管道
  • [ #47 ] 使用Jackson代替fastjson转换实体与json字符串之间的相互转换方式
  • [ #51 ] MessageProcessor新增正则表达式方式处理消息,并为每个匹配的表达式管道建立一个Porxy代理类
  • [ #59 ] Server启动时自动加载Redis内的消息管道列表,并自动创建MessagePipe实例
  • [ #64 ] 重构Client连接Server的实现方式,新增支持Nacos NamingService方式

🐛 Fix Bugs

  • [ #45 ] 修复Client启动时一直重试注册到Server,导致阻塞主线程
  • [ #48 ] 删除客户端ReceiveMessageService处理消息时使用线程池
  • [ #53 ] 修复Redisson在高并发下出现的解锁异常
  • [ #55 ] 修复获取MessageProcessors实例时可能出现线程安全性问题
  • [ #57 ] 消息分发时,只有存在客户端列表才进行处理消息发送逻辑
  • [ #61 ] Server运行过程中CPU飙升
  • [ #65 ] Client注册时偶尔会出现获取IP地址为 "127.0.0.1"的情况

1.0.0.RELEASE

24 Aug 07:35
Compare
Choose a tag to compare

✨ New Features

  • [ #1 ] Server分发消息到Client
  • [ #2 ] Server分发消息时支持LoadBalance随机权重策略
  • [ #15 ] 支持Client定时向Server发送心跳
  • [ #18 ] 每个管道实现独立分发消息
  • [ #24 ] 设置 “分发消息时从通道获取消息的Lock时间"
  • [ #26 ] 使用 "minbox-sequence" 来生成RequestID
  • [ #31 ] Server重启后Client实现自动重连

🐛 Fix Bugs

  • [ #20 ] 解决InetAddress偶尔获取的HostAddress不一致的问题
  • [ #29 ] 消息分发时检查Redisson Client连接是否已经关闭
  • [ #33 ] Server启动后,如果没有注册的Client会一直抛出异常信息
  • [ #35 ] Server发送消息到Client时,如果发生Client状态不可用“UNAVAILABLE”则自动剔除本地缓存Client的Channel
  • [#37 ] Server分发消息时选择指定管道上绑定的Client列表,排除OFF_LINE状态的Client