什么是中间件?
非底层操作系统软件,非业务系统软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件统称为中间件。
什么是消息中间件?
关注与消息的接受和发送,利用高效可靠的异步消息传递机制集成分布式系统。
JMS
JAVS消息服务,是一个Java平台中面向消息中间件的API,用于在两个应用程序之间或分布式系统中发送消息,进行异步通讯。
AMQP?
Advanced Message Queuing Protocol,是一个提供统一消息服务的应用层标准协议,基于此协议的客户端可消息中间件可传递消息,并接受客户端/中间件不同产品、不同研发语言的等条件的限制。
JMS规范
提供者:实现JMS规范的消息中间件服务器。
客户端:发送和接受消息的应用程序。
生产者/发布者:创建并发送消息的客户端。
消费者/订阅者:接受并处理消息的客户端。
消息:应用程序之间传递的数据内容。
消息模式:在客户端传递消息的方式,JMS中定义了主题和队列两种模式。
队列模型:
客户端包括生产者和消费者,队列中的消息这可以被同一个消费者消费,消费者可以随时消费队列中的消息。
主题模型:
客户端包括发布者和订阅者,主题中的消息会被所有订阅者所消费,消费者不能消费订阅之前就发布到主题中的消息。
JMS编码接口:
ConnectionFactory:用于创建连接到消息中间件的连接工厂。
Connection:代表了应用程序之间和消息服务器之间的通讯链路。
Destination:指消息发布和接受的地点,包括 队列或主题。
Session:表示一个单线程的上下文,用于发送和接受消息。
MessageConsumer:由会话传创建用于接受发送到目标的消息。
MessageProducer:由会话传创建,用于发送消息到目标。
Message:是消费者和生产者之间传递的对象,由消息头,一组消息属性,消息体组成。
ActiveMQ集群
客户端集群:让多个消费者消费同一个队列。
Broker集群:多个Broker之间同步消息。
Master Slave:实现高可用。
ActiveMQ配置:
失效转移:failover:允许当一台消息服务器宕机时,客户端在传输层上重新连接到其他消息服务器。
Brokerj集群配置:
NetworkConnector网络连接器:主要用于配置ActiveMQ服务器与服务器之间的网络通讯方式,用于服务器透传消息。