预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于MB、MQ的订阅发布的设计与实现的综述报告 消息队列(MQ)和消息总线(MB)是面向服务架构(SOA)中流行的两种传递消息的方式。它们都有一个共同的目标,即通过将消息从一个应用程序发送到另一个应用程序,来实现应用程序之间的通信。订阅发布模式也是消息队列和消息总线的重要特性之一。 MQ是一种异步和非阻塞的通信方式,主要用于解耦应用程序之间的通信。MQ具有以下特点:1)可靠性高;2)支持事务处理;3)具有异步消息传递的能力;4)支持消息队列的集群,提高了可用性;5)支持广泛的编程语言和平台。 常见的MQ产品包括RabbitMQ、ApacheActiveMQ、IBMMQ、Kafka等。其中,RabbitMQ是一个流行的开源MQ,它支持AMQP(高级消息队列协议)和STOMP(简单文本OrientedMessaging协议),同时支持订阅发布模式和点对点模式。RabbitMQ在生产环境中得到了广泛应用,它的应用场景包括电子商务、金融等领域,通过RabbitMQ可以实现大量的业务功能,如任务分发、日志处理、数据同步等。 另一方面,MB是一个广义概念,它代表了一个与应用程序无关的中间件系统,可以接受消息、筛选消息,并将消息传递给感兴趣的应用程序。MB通常支持高级通信模式,例如多点总线连接和异步通信,这些模式通常被称为“消息总线模式”。当然,消息总线与MQ还有点对点模式有所不同。与MQ不同之处在于,消息总线通常是一个中心化的架构,它将消息从一个应用程序传递到一组应用程序(而不是单个应用程序)。另外,消息总线通常还会提供工具来路由和转换消息,这些工具可以帮助应用程序检测并适应不同的消息格式和协议。 常见的MB产品包括ApacheKafka、AmazonSNS等,其中Kafka是最为常见的分布式消息总线之一。Kafka是一个快速、可扩展的、持久化的分布式消息系统,对于那些使用Kafka进行大数据处理、流式计算和微服务架构的企业来说,是一个理想的中间件系统。 综上所述,MB和MQ都有自己独特的优点和应用场景,他们都支持订阅发布模式的实现,并且产生了广泛的应用。在具体的开发中,根据实际需求,选择合适的MQ或MB产品是非常重要的。无论是选择MQ还是MB,都应该考虑消息的编码和解码、负载均衡、消息被获取的顺序等因素。同时要注意处理异常情况,比如消息的持久化、消息序列化、消息队列的集群等方面的问题。