ibmmq队列配置详细讲解 消息队列是怎么实现的,能给出思路?
消息队列是怎么实现的,能给出思路?
我想你的问题是想问“如何能自己啊,设计”一套消息队列框架,对吗?
现实中巳经有了很多面向相同系统的消息队列软件,能成熟的消息队列如kafka,rocketmq等。其实现语言也类型众多,你是可以从Github之类的地方额外这些软件来去学习和不使用。
而自己啊,设计一套消息队列,只不过遇上不同的应用场景,其要求是是一样的的,也没都能够适用所有场景的消息队列。而下面我很简单分析分析一个普通的、稍微地完备的消息队列框架应该设计哪些东西,主要推荐再看看基本都功能,思想和设计。希望能帮到你。
消息队列要注意是是为系统解耦,先说说看设计上必须考虑到哪些。
1、一个都很发下的消息队列要确定100元以内功能(不已经列表)
消息收与发机制、消息剥落如何处理、、消息不易脱妆化、消息可信度高投递(至多保证四次投递,以及重复投递的处理)、Topic接受(仅有或多Topic)、多消费者投递(同一Topic消息)、投递回溯、集群和负载均衡等性能设计、事务支持、监控和告警等魔兽维护功能
也差不多有这些吧。
以上是设计是需要确定的东东。
再简单说哈实现程序要确定什么。
2、实现的话,要注意从协议、转储、消费简单点说说。
?
协议:这个展开攻击了很多内容。简单啊说那是现在高速公路通行的是用RPC框架利用通信。借用PRC框架帮忙解决负载均衡,服务发现自己,协议化,序列化等问题。RPC框架你可以不百度清楚下。
消息首先Topic序列化并组织到存储管道中,管道维护一个锁,完成锁的消费者网站查询并获得自己的消息项。
存储:存储管道象会建立起在内存、文件系统(本地或分布式)、数据库(关系、非关系两者皆可)。这哪一种依据什么具体情况选用。比如:不需要速度,不必须深度则判断内存,是需要可信度高就选数据库,等等。
?
消费关系:消息投递到消费者一般需要广播或单播,最常见的使用场景是组内单播,组间广播,对如一个集群内可以不不使用相同的群组来注册订阅。大多还不需要辅助系统好处程序维护消费订阅关系,在消费关系发生了什么变化时口中发出通知。
?
同时是需要而且判断的东西另外:消息的可靠到达,去确认与删一,序列号环形折弯等等。这些几句话说不清楚,有时间你可以不在快回复中提问,我具体看知道回答。
rabbitMQ点对点,一个队列可以多个消费者吗?
rabbitMQ没用啊过,ActiveMQ中我刚测试出来,这个可以有多个消费者,而且消息是按顺序交回给不同的消费者,例如消息1给消费者a,消息2给消费者b,消息3给消费者a,消息4给消费者b...,这样的好处是实现方法了负载均衡,要是消费者b突然死干净了,消费者a那就可以正常了接收的。
个人再理解,要是我说的不对,期望有大神纠正,多谢了。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。