《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 toutiao.com/i6782485898526196236 「码云Gitee」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

在系统软件之中,操作系统、数据库、中间件的三驾马车,中间件是最神秘的,而且是一个专业化非常强的细分产业。中间件技术主要用来支撑分布式软件的开发,在大型分布式软件系统中中间件技术发挥着极其重要的作用。今天,小编推荐 7 款 Gitee 上的中间件开源项目,希望能够让你体会到中间件技术的魅力。

1、高性能 Redis 中间件服务 nredis-proxy

项目简介:nredis-proxy 是一个以 redis 协议为主的高性能稳定的代理中间件服务,不侵入业务代码,与业务毫无联系,不需要改任何应用代码,天然支持分布式部署。

项目地址:https://gitee.com/284520459/nredis-proxy

2、.net 业务消息队列 Dyd.BusinessMQ

项目简介:.net 业务消息队列是应用于业务的解耦和分离,应具备分布式,高可靠性,高性能,高实时性,高稳定性,高扩展性等特性,其优点主要是:

  • 大量的业务消息堆积能力
  • 无单点故障及故障监控,异常提醒
  • 生产者端负载均衡,故障转移,故障自动恢复,并行消息插入。
  • 消费者端负载均衡,故障保持,故障自动恢复,并行消息消费。
  • 消息高可靠性持久化,较高性能,较高实时性,高稳定性,高扩展性。
  • 支持99*99个消息分区,单个消息分区单天支持近1亿的消息存储。
  • 消费者拉方式获取消息,在高并发,大量消息涌入的情况下,只要消费能力足够,不会有消息延迟,消息越多性能越好。

项目地址:https://gitee.com/chejiangyi/Dyd.BusinessMQ

3、基于 RabbitMQ 实现的消息中间件 WMQ

项目简介:WMQ 是用 Golang 编写的基于 RabbitMQ 实现的消息中间件,在系统架构对解耦现有业务起到至关重要的作用,服务基于 HTTP 的 API 方式具有跨语言的特点,接入十分简单。能够很好的解决并发控制,异步任务,以及消息订阅与分发。

项目地址:https://gitee.com/snail/wmq-go

4、开源实时消息推送系统 MPush

项目简介:mpush,是一款开源的实时消息推送系统,采用 java 语言开发,服务端采用模块化设计,具有协议简洁,传输安全,接口流畅,实时高效,扩展性强,可配置化,部署方便,监控完善等特点。同时也是少有的可商用的开源push推送系统。

项目地址:https://gitee.com/mpush/mpush

5、分布式 TCP 推送系统 GPush

项目简介:一个 linux 下高效的,分布式 TCP 推送系统实现,单台连接服务器支撑超过百万以上连接,主要适用于千万在线级别规模的应用,对比第三方推送平台,主要优势在于,服务自建,推送效率高,而且可以很方便进行功能扩展。

项目地址:https://gitee.com/gsfw/GPush

6、轻量级Java消息中间件 Uncode-MQ

项目简介:java 轻量级消息中间件,其功能特点如下:

  • 消息存储速度非常快速。
  • 使用简单方便,目前只支持 topic 方式。
  • 依赖 java 环境。

项目地址:https://gitee.com/uncode/uncode-mq

7、MQ、RPC、服务总线 zbus

项目简介:zbus 核心是一个独立实现的小巧极速的消息队列(MQ),支持持久化与内存队列, 支持单播、广播、组播等多种消息通信模式;在 MQ 之上 zbus 完备地支持了 RPC 服务,RPC 支持独立伺服,基于总线两种模式;同时 zbus 支持代理服务,基于 MQ 的 HttpProxy 实现了类 Nginx 的 HTTP 代理服务(支持 DMZ 网络结构),TcpProxy 则支持透明的 TCP 协议代理,可以代理任何基于 TCP 的协议,比如代理 MySQL 数据库。

zbus 内建分布式高可用(HA),解决单点问题;Java/.NET/JS/C++/PHP 等主流语言接入能力为 zbus 充当SOA 服务总线提供跨平台支持;

在设计上,zbus 拥抱 KISS 准则,所有特性浓缩在一个小小的400K左右的 jar 包中(非常少的依赖);轻量,MQ 核心,方便二次开发,zbus 为微服务架构、系统整合、弹性计算、消息推送等场景提供开箱即用的功能支持。

项目地址:https://gitee.com/rushmore/zbus

文章目录
  1. 1. 1、高性能 Redis 中间件服务 nredis-proxy
  2. 2. 2、.net 业务消息队列 Dyd.BusinessMQ
  3. 3. 4、开源实时消息推送系统 MPush
  4. 4. 5、分布式 TCP 推送系统 GPush
  5. 5. 6、轻量级Java消息中间件 Uncode-MQ
  6. 6. 7、MQ、RPC、服务总线 zbus