HPMessageCenter

高性能消息分发中心。用户只需写好restful接口,在portal里面配置消息的处理地址,消息消费者就会自动访问相关接口,完成消息任务。(其实HPMessageCenter有两个版本,这次开源的是第二个版本。在第一个版本,消息消费失败的重试依赖数据库进行,造成了很大的性能影响。我一直在思考怎样不依赖数据库来进行消息重试,看过一些实现是通过在内存中计数,这种方式存在很大的风险,系统宕机过后这个失败的消息就只能手动处理。我一直在想,如果每次RabbitMQ重入队的消息能在消息属性中加一个消息发送次数的计数就好了。最后,我利用延时队列和死信队列,通过在MessageHeader中设置RetryNumbers来重新设计了消息消费失败的重试机制。
Git地址https://gitee.com/dugukuangshao/HPMessageCenter

部署说明

 **创建数据库执行Scripts文件夹中的数据库脚本** **配置数据库连接字符串** 打开MessageCenter.Portal\Configuration\Data\Database.config

在图片中画红线的地方修改链接字符串**配置RabbitMQ连接属性** 打开MessageCenter.Portal\appsettings.json

在图片中画红线的地方修改RabbitMQ地址和用户名密码部署MessageCenter.Portal到IIS或者Docker中,即可访问

使用说明

 **在首页中配置App和Exchange**

 **在Topic管理页面中配置Topic信息** 

ProcessorConfig为消息消费者处理消息的Restful接口**最后在消费者管理页面中添加Sever要运行的Consumer** 

此时,通过Publisher/Publish接口发送消息到RabbitMQ,系统中的消费者会自动访问配置的对应消息处理接口处理消息。### 为什么要开发这样一个消息系统使用此消息系统处理消息,开发者只需调用接口发送消息、写消息处理的接口,不必关心MQ的实现和使用,使开发者更关注业务,提高开发效率。

扩展性

MessageTransit模块是一个高度抽象的模块,开发者可以继承它的接口实现其他MQ(ActiveMQ和RocketMQ等)的对接。该模块还设计了IMonitor和ILogger接口,开发者可以继承IMonitor接口,自定义实现消息处理失败的短信、邮件通知等功能,继承ILogger接口,可以实现MQ断线的通知等,当然默认的RabbitMQ实现支持断线重连。

性能

一个Sever里每个Topic对应一个消费者。一个消费者一次处理一个消息,如果发生消息处理不及时的情况,可以部署多个Sever,并在消费者管理页面添加对应的消息消费者。如果消息数量进一步提高,就需要同步增加消息Restful处理接口的处理能力。比如,一个消息处理接口可以处理每分钟300个并发,一个Sever每分钟只能处理60个消息,此时可以部署5个Sever。消息进一步增加,消息处理接口性能达到瓶颈,增加消息处理接口的处理能力,再增加Sever数即可提高性能。

原文地址:http://www.cnblogs.com/DKSL/p/8489544.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

分布式高性能消息处理中心HPMessageCenter相关推荐

  1. 分布式定时任务调度中心

    分布式定时任务调度中心选型 目前主流的开源分布式定时任务调度中心据我了解主要是XXL-JOB和ELASTIC-JOB. 对比: 以上框架实现的功能大体都差不多,下面说下我选择XXL-JOB的原因: 1 ...

  2. XXL-REGISTRY v1.0.2 发布,分布式服务注册中心

    Release Notes 1.服务端空值也支持响应,客户端注册信息发现null值缓存,避免缓存穿透: 2.客户端配置监控逻辑优化,避免异常情况下重试请求太频繁: 3.客户端日志优化:仅变更日志保留为 ...

  3. 基于Protobuf的分布式高性能RPC框架——Navi-Pbrpc

    基于Protobuf的分布式高性能RPC框架--Navi-Pbrpc 二月 8, 2016 1 简介 Navi-pbrpc框架是一个高性能的远程调用RPC框架,使用netty4技术提供非阻塞.异步.全 ...

  4. 百度开源的一款分布式高性能的唯一ID生成器,非常强大!

    来源:https://lilinchao.com/archives/1226.html 一.UidGenerator是什么 UidGenerator是百度开源的一款分布式高性能的唯一ID生成器,是基于 ...

  5. 中国光纤将打造全球顶级T4级分布式云计算数据中心

    中国光纤将打造全球顶级T4级分布式云计算数据中心.目前,该公司附属公司河北四方通信设备正于河北省石家庄市兴建大数据云中心. 项目一期计划于2017年12月投入运营,预期将由中国电信集团公司河北省电信分 ...

  6. 初链:高性能去中心化公开账本

    1.绪论 2017-2018年,互联网界最火热的话题之一就是区块链.其去中心化.分布式以及防篡改一系列特性使得人们对于这个可能对互联网发展产生重大影响的技术关注颇多.从比特币的区块链最初版本,到以太坊 ...

  7. 分布式概念-去中心化副本控制实现

    去中心化的副本控制区别于前面文章介绍的中心化副本控制在于,其所有节点都是对等的,不存在中心化节点,所有节点之前互相协商,以达到最终一致. 前面介绍过中心化节点控制最大的问题在于,中心节点存在单点风险, ...

  8. 北京高性能计算机应用中心,中国气象局高性能计算机系统资源使用报告-北京高性能计算机应用中心.PDF...

    中国气象局高性能计算机系统资源使用报告(No.201803) 国家气象信息中心 中国气象局高性能计算机系统 资源使用报告 (2018 年03 月) 本月重点关注:  国家局Uranus 业务子系统C ...

  9. AMD推动高性能数据中心计算迈进新世代

    2018年11月6日,美国旧金山讯-- AMD公司在旧金山的Next Horizon技术大会上兑现了其对数据中心计算创新的广泛承诺,详细介绍了即将上市的旨在拓展现代数据中心性能的7nm计算和显卡产品组 ...

最新文章

  1. 端到端伪激光图像3D目标检测
  2. 利用Lucene.net搜索引擎进行多条件搜索的做法
  3. 快速排名系统询火星推荐_搜狗网站快速排名系统 - 新站权重如何快速提升
  4. Google服务器 IP
  5. 【线段树】Serious Business(CF1648D)
  6. Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试
  7. Facebook已经过时,蜂巢新网络崛起
  8. Linux ping ipv66,IPV6的测试-ipv6网卡配置-ipv6的nginx配置-ipv6的ping测试-ipv6的curl测试...
  9. 农业灌溉泵行业调研报告 - 市场现状分析与发展前景预测
  10. ROS的学习(二十)rosserial中的Publisher和Subscriber中的编程步骤
  11. Java学习个人备忘录之文档注释
  12. html设置隐藏窗口,html – 在窗口大小调整时逐个隐藏菜单项
  13. platform驱动和pci驱动的区别
  14. 怎么让计算机文件格式显示,已知文件类型的扩展名如何设置显示与隐藏?
  15. 各个认证记录及说明SRRC与CTA认证
  16. 如何远程公司 居家办公日渐常态 企业如何做好远程办公
  17. linux修改组群名字,Linux用户和组 - 回忆斑斑驳驳的个人空间 - OSCHINA - 中文开源技术交流社区...
  18. 爬取B站视频弹幕生成词云
  19. c语言-基础知识点复习
  20. Git强推本地代码到远程

热门文章

  1. 书生云王东临:真正的超融合产品要像“机器猫” 开箱即用
  2. 大数据能否力挽国足败落狂澜?
  3. LeetCode 3_Longest Substring Without Repeating Characters
  4. Primes on Interval
  5. ASA防火墙16 SSL/×××
  6. 鼠标 . 软驱 . 打印机 . 硬盘. 风扇 . 常见事故处理 -
  7. 使用C#为.NET Interactive开发自定义扩展
  8. .NET Core 服务在 ARM64 服务器中的部署
  9. 怎能错过这个技术集市!转发有奖,惊喜连连!
  10. 通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布...