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

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

内容简介: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
 

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

查看所有标签

猜你喜欢:

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

Mastering Regular Expressions, Second Edition

Mastering Regular Expressions, Second Edition

Jeffrey E F Friedl / O'Reilly Media / 2002-07-15 / USD 39.95

Regular expressions are an extremely powerful tool for manipulating text and data. They have spread like wildfire in recent years, now offered as standard features in Perl, Java, VB.NET and C# (and an......一起来看看 《Mastering Regular Expressions, Second Edition》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

SHA 加密
SHA 加密

SHA 加密工具