什么是JMS
- Java消息服务(Java Message Service),Java平台中关于面向消息中间件的接口
- JMS是一种与厂商无关的 API,用来访问消息,收发系统消息,它类似于JDBC(Java Database Connectivity)。这里,JDBC 是可以用来访问许多不同关系数据库的 API。
使用场景
- 跨平台
- 多语言
- 多项目
- 解耦
- 分布式事务
- 流量控制
- 最终一致性
- RPC调用
- 上下游对接,数据源变动,通知下属,做相应的动作
基本概念
- JMS提供者:Apache ActiveMQ、RabbitMQ、Kafka、Notify、MetaQ、RocketMQ
- JMS生产者(Message Producer)
- JMS消费者(Message Consumer)
- JMS消息
- JMS队列
- JMS主题
- JMS消息通常有两种类型:点对点(Point-to-Point),发布/订阅(Publish/Subscribe)
编程模型
- ConnectionFactory :连接工厂,JMS 用它创建连接
- Connection :JMS 客户端到JMS Provider 的连接
- Session: 一个发送或接收消息的线程
- Destination :消息的目的地;消息发送给谁
- MessageConsumer / MessageProducer: 消息接收者,消费者