• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

OF.Notify: 参考淘宝的 Notify 项目做的一个高性能、可靠、分布式消息分发系统 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

OF.Notify

开源软件地址:

https://gitee.com/fastdev/OF.Notify

开源软件介绍:

#OF.Notify

一、项目描述

本项目是希望提供一个高可用、分布式、大容量、高性能、支持动态扩容的消息队列,目前很多的消息队列很多要么是单节点的,要么是基于数据分片实现的比如kafka,无法做到动态扩容,而且节点下线后数据无法自动同步到其他节点,无法满足高可用的场景(而且kafka需要自己维护队列的偏移,比如需要处理的数据在下线的节点上,那处理起来就比较麻烦,要么等下线节点上线,要么自己维护和合并多个偏移)。

这方面实现最好的应该是淘宝的 Notify 框架,可惜目前都没有开源,只有几篇介绍原理的文章,本项目部分参考了它来完成的。

主要实现了几个功能:动态集群管理、管理节点选举、消息的冗余存储、消息集合的划分、下线节点消息集合的同步(同步是基于集合来的)、消息的处理(已处理消息集合列表已树形结构存储,会自动合并连续的区间,比如有1-100、102-200 集合的消息已处理,只会保存3个节点,分别是根节点、1-100节点、102-200节点)

二、项目的测试和运行

本项目分为3个子项目,OF.Notify 是框架的逻辑;OF.NotifyHost 中是 OF.Notify 的宿主站点(实际部署根据需要部署多个),里面初始化一些配置信息以及Consumer,这个项目同时用于集群管理、存储和消费消息(Consumer 需要继承ConsumerBase即可);Mock 是用于测试消息发送的Console项目,里面会模拟一个环境来宿主 OF.Notify 项目,用于测试了集群动态上下线、消息的发送、同步和处理的情况,并且提供了方法检查各服务节点数据正确性。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap