内容简介:Message Pipe是什么? 它是minbox开源组织内的新成员,Message Pipe从字面的意思上理解为 “消息管道”,它确实是一个消息管道的定位,是基于Redis实现的分布式顺序消息管道。 源码地址 目前Message Pipe开源平台...
Message Pipe是什么?
它是minbox
开源组织内的新成员,Message Pipe
从字面的意思上理解为 “消息管道”,它确实是一个消息管道的定位,是基于Redis
实现的分布式顺序消息管道。
源码地址
目前Message Pipe
开源平台:
- GitHub:https://github.com/minbox-projects/message-pipe
- Gitee:https://gitee.com/minbox-projects/message-pipe
另外ApiBoot对它进行了集成,可以通过配置文件的形式快速把message-pipe
加入到项目中,详见:https://github.com/minbox-projects/api-boot。
集成相关代码:https://github.com/minbox-projects/api-boot/tree/master/api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/message/pipe
可以解决什么问题?
它主要是来解决分布式系统下消息的顺序消费的方案,内部通过Redisson
的分布式锁以及分布式队列的特性来完成消息的处理,消息的分发则是由Grpc
来完成的。
消息分发时支持常见的负载均衡策略,比如:随机策略、IP轮询方式等。
由于内部采用的是分布式锁的方式实现,所以支持多个Server
同时就行消息的轮询获取以及分发操作。
更新日志
详见:https://github.com/minbox-projects/message-pipe/releases/tag/1.0.3.RELEASE
✨ New Features
- [ #79 ] 新增消息元数据概念,自定义每次处理消息的扩展字段
- [ #80 ] 修改消息管道MessagePipe通过Redisson处理队列消息时的序列化实现方式为Jackson
- [ #90 ] 新增事件,当从消息管道阻塞队列内获取消息时触发
???? Optimizations
- [ #83 ] 灵活配置消息管道使用Redisson的不同Codec
- [ #85 ] 删除MessageProcessingEvent相关无用代码
- [ #87 ] MessagePipeManager#createMessagePipe方法返回新创建的消息管道实例
快速上手
为了快速上手,提供了message-pipe
使用的示例项目,项目源码:https://github.com/minbox-projects/message-pipe-example。
安装Redis
由于message-pipe
基于Redis
实现,所以我们首先需要在本机安装Redis
,下面是使用Docker
方式安装步骤:
1 2 3 4 |
# 拉取 Redis 镜像 docker pull redis # 创建一个名为"redis"的后台运行容器,端口号映射宿主机6379 docker run --name redis -d -p 6379:6379 redis |
查看Redis数据
1 2 3 4 5 6 7 8 |
# 运行容器内命令 docker exec -it redis /bin/sh # 运行Redis客户端 redis-cli # 选择索引为1的数据库 select 1 # 查看全部的数据 keys * |
启动示例项目
1 2 3 4 5 6 7 8 |
# 下载源码 git clone https://github.com/minbox-projects/message-pipe-example.git # 进入项目目录 cd message-pipe-example # 运行Client与Server合并示例项目 cd client-server-merge # 运行项目 mvn spring-boot:run |
以上所述就是小编给大家介绍的《顺序消息管道 message pipe v1.0.3 发布,新增消息元数据定义》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 顺序消息管道 message pipe v1.0.3 发布,新增消息元数据定义
- Redis 小白指南(三)- 事务、Watch 命令、过期、消息通知、管道、优化内存空间
- 速度不够,管道来凑——Redis管道技术
- Golang pipline泛型管道和类型管道的性能差距
- Linux 管道那些事儿
- mongodb 聚合管道
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。