在系统软件之中,操作系统、数据库、中间件的三驾马车,中间件是最神秘的,而且是一个专业化非常强的细分产业。中间件技术主要用来支撑分布式软件的开发,在大型分布式软件系统中中间件技术发挥着极其重要的作用。今天,小编推荐 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推送系统。
5、项目名称:分布式 TCP 推送系统 GPush
项目简介:一个 linux 下高效的,分布式 TCP 推送系统实现,单台连接服务器支撑超过百万以上连接,主要适用于千万在线级别规模的应用,对比第三方推送平台,主要优势在于,服务自建,推送效率高,而且可以很方便进行功能扩展。
项目地址:gitee.com/gsfw/GPush
6、项目名称:轻量级Java消息中间件 Uncode-MQ
项目简介:java 轻量级消息中间件,其功能特点如下:
-消息存储速度非常快速。
-使用简单方便,目前只支持 topic 方式。
-依赖 java 环境。
项目地址: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 为微服务架构、系统整合、弹性计算、消息推送等场景提供开箱即用的功能支持。
有疑问加站长微信联系(非本文作者)