您现在的位置是:首页 > 文章详情

message-pipe v1.0.1 发布,支持 Nacos 服务发现

日期:2020-08-31点击:590

Message Pipe

基于Redis实现的分布式消息顺序消费管道。

GitHub地址:https://github.com/minbox-projects/message-pipe

Gitee地址:https://gitee.com/minbox-projects/message-pipe

I. 什么是Message Pipe?

Message Pipe是基于Redis实现的顺序消息管道,由于内部引入了Redisson分布式锁所以它是线程安全的,多线程情况下也会按照写入管道的顺序执行消费。

Message Pipe采用ClientServer概念进行设计,内部通过grpc-netty来建立消息通道相互通信的长连接,消息的分发由Server负责,而每一个管道内的消息在分发时会通过LoadBalance(负载均衡)的方式来获取在线的Client信息并向Client顺序发送消息。

II. 更新日志

✨ 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"的情况

III. 特性

  • 自动注册
  • 心跳检查
  • 消息分发
  • 顺序消费
  • 读写分离
  • 线程安全
  • 负载均衡
  • 自动剔除

IIII. 快速上手

为了快速上手,提供了message-pipe使用的示例项目,项目源码:https://github.com/minbox-projects/message-pipe-example

4.1 安装Redis

由于message-pipe基于Redis实现,所以我们首先需要在本机安装Redis,下面是使用Docker方式安装步骤:

 # 拉取Redis镜像 docker pull redis # 创建一个名为"redis"的后台运行容器,端口号映射宿主机6379 docker run --name redis -d -p 6379:6379 redis

4.2 查看Redis数据

 # 运行容器内命令 docker exec -it redis /bin/sh # 运行Redis客户端 redis-cli # 选择索引为1的数据库 select 1 # 查看全部的数据 keys *

4.3 启动示例项目

 # 下载源码 git clone https://github.com/minbox-projects/message-pipe-example.git # 进入项目目录 cd message-pipe-example # 运行项目 mvn spring-boot:run

V. License

message-pipe采用Apache2开源许可进行编写。

原文链接:https://www.oschina.net/news/118268/message-pipe-1-0-1-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章