首页 >

消息队列是怎么实现的 – CSS – 前端,css实现冒泡

css 边框 发光,css 不含class,css字体叠加颜色,css中让物体旋转,css弹性魔盒属性表,css框架和html框架区别,css实现冒泡消息队列是怎么实现的 - CSS - 前端,css实现冒泡

偶想你的问题是想问“如何自己设计”一套消息队列框架,对吗?

现实中已经有了很多面向不同系统的消息队列软件,成熟的消息队列如kafka,rocketmq等。其实现语言也是多种多样,你可以从Github之类的地方获得这些软件来学习和使用。

而自己设计一套消息队列,因为面对不同的应用场景,其要求是不一样的,没有能够适用所有场景的消息队列。而下面偶简单讲讲一个普通的、稍微完善的消息队列框架应该设计哪些东西,主要介绍一下基本功能,思想和设计。希望能帮到你。

消息队列主要是为了系统解耦,先说说设计上需要考虑哪些。

1、一个比较完整的消息队列需要考虑以下功能(不完全列表)

消息收发机制、消息堆积处理、、消息持久化、消息可靠投递(至少保证一次投递,以及重复投递的处理)、Topic支持(唯一或多Topic)、多消费者投递(同一Topic消息)、投递回溯、集群和负载均衡等性能设计、事务支持、监控和告警等维护功能

大概有这些吧。

以上是设计需要考虑的东东。

再简单说说实现要考虑什么。

2、实现的话,主要从 协议、转储、消费 简单说说。

协议:这个展开了很多内容。简单说就是现在通行的是用RPC框架实现通信。利用PRC框架解决负载均衡,服务发现,协议化,序列化等问题。RPC框架你可以百度了解一下。

消息首先Topic序列化并组织到存储管道中,管道维护一个锁,获得锁的消费者查询并获得自己的消息项。

存储:存储管道一般会建立在 内存、文件系统(本地或分布式)、数据库(关系、非关系皆可)。这几种方式根据具体情况选用。比如:需要速度,不需要深度则考虑内存,需要可靠就选数据库,等等。

消费关系:消息投递到消费者一般采用广播或单播, 最常见的使用场景是组内单播,组间广播,对如一个集群内可以使用相同的群组来注册订阅。通常还需要辅助系统帮助维护消费订阅关系,在消费关系发生变化时发出通知。

另外需要特别考虑的东西还有:消息的可靠到达,确认与重发,序列号对齐等等。这些几句话说不清楚,有时间你可以在回复中提问,偶具体回复。

css 边框 发光,css 不含class,css字体叠加颜色,css中让物体旋转,css弹性魔盒属性表,css框架和html框架区别,css实现冒泡消息队列是怎么实现的 - CSS - 前端,css实现冒泡


消息队列是怎么实现的 - CSS - 前端,css实现冒泡
  • css变灰白的网站 |css3边框包在宽度
  • css变灰白的网站 |css3边框包在宽度 | css变灰白的网站 |css3边框包在宽度 ...

    消息队列是怎么实现的 - CSS - 前端,css实现冒泡
  • css变换角度 |css3复选框效果
  • css变换角度 |css3复选框效果 | css变换角度 |css3复选框效果 ...

    消息队列是怎么实现的 - CSS - 前端,css实现冒泡
  • 微信的朋友圈和新浪微博 - CSS - 前端,css如何写伪类
  • 微信的朋友圈和新浪微博 - CSS - 前端,css如何写伪类 | 微信的朋友圈和新浪微博 - CSS - 前端,css如何写伪类 ...