消息中间件和JMS的概念

什么是消息中间件?

消息中间件可以理解成就是一个服务软件,保存信息的容器,比如生活中的快递云柜。我们把数据放到消息中间件当中, 然后通知对应的服务进行获取。消息中间件是在消息的传输过程中保存信息的容器

作用

在soa分布式架构系统中,或者企业中的多个项目中,进行多个系统异步传递消息

优点

1.使用消息服务器当做大的队列使用,先进先出,来处理高并发写入操作

2.使用消息服务器可以将业务系统的串行执行改为并行执行,处理效率高,更合理的榨取服务器的性能。

缺点

1.消息中间件实时性不高,因为发送方将消息发送给消息服务器后,消息服务器末必能够立即处理。

2.主要看消息服务器是否繁忙,队列中先进先出,如果数据量大,要排队等待执行。

同步技术

dubbo是一种同步技术, 实时性高, controller调用service项目, 调用就执行。如果service项目中的代码没有执行完, controller里面的代码一致等待结果.。

异步技术

mq消息中间件技术(jms) 是一种异步技术, 消息发送方, 将消息发送给消息服务器。消息服务器未必立即处理.什么时候去处理, 主要看消息服务器是否繁忙,。消息进入服务器后会进入队列中, 先进先出.实时性不高。

什么是JMS?

jms的全称叫做Java message service (Java消息服务) jms是jdk底层定义的规范,各大厂商都是实现这个规范的技术。

jms消息服务器同类型技术

ActiveMQ:是apache的一个比较老牌的消息中间件, 它比较均衡, 既不是最安全的, 也不是最快的。

RabbitMQ:是阿里巴巴的一个消息中间件, 更适合金融类业务, 它对数据的安全性比较高.能够保证数据不丢失

Kafka:Apache下的一个子项目。特点:高吞吐,在一台普通的服务器上既可以达到10W/s的吞吐速率;适合处理海量数据

JMS中支持的消息类型

①TextMessage:一个字符串对象

②MapMessage:key-value

③ObjectMessage:一个序列化的 Java 对象

④BytesMessage:一个字节的数据流

⑤StreamMessage:Java 原始值的数据流

JMS中的两种发送模式

①点对点模式

一个发送方, 一个接收方。 也可以多个发送方,一个接收方,主要是接收方必须是一个

②订阅发布模式

一个发送方,多个接收方, 发送方也可以是多个,主要看接收方,接收方必须是多个

发布了67 篇原创文章 · 获赞 13 · 访问量 8476

猜你喜欢

转载自blog.csdn.net/qq_40885085/article/details/104118584