minbox-message-pipe v1.0.2 发布,重构核心概念,解决 CPU 飙升问题

栏目: 软件资讯 · 发布时间: 4年前

内容简介:Message Pipe是什么? 它是minbox开源组织内的新成员,Message Pipe从字面的意思上理解为 “消息管道”,它确实是一个消息管道的定位,是基于Redis实现的分布式顺序消息管道。 源码地址 目前Message Pipe开源平台...

Message Pipe是什么?

它是minbox开源组织内的新成员,Message Pipe从字面的意思上理解为 “消息管道”,它确实是一个消息管道的定位,是基于Redis实现的分布式顺序消息管道。

源码地址

目前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.2.RELEASE

✨ New Features

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

???? Fix Bugs

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

???? Optimizations

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

快速上手

为了快速上手,提供了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
 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法分析

数据结构与算法分析

张琨、张宏、朱保平 / 人民邮电出版社 / 2016-2-1 / 45

本书共分10章,主要包括第1章绪论,第2章线性表,第3章栈和队列,第4章串,第5章数组和广义表,第6章 树和二叉树,第7章图,第8章查找,第9章内部排序,第10章算法分析。其内容模块涵盖了课堂教学、习题课教学、实验教学、自学辅导、综合训练等。立体化教材的使用在提高教学效率、增强教学效果、加大教学信息量、培养学生的应用与实践能力。 作者简介一起来看看 《数据结构与算法分析》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器