JMS--仅仅是一种规范,一种接口规约,一种编程模型。类似的JPA,JSR等
场景:
1.多个系统之间交互,实现可以采取RPC,但是交互复杂,基本就是点对点的方式
2.其实交互就是消息,而JMS就是消息规范,支持事务机制(保证安全)--不就是类似于RDBMS吗,存储消息,转存发送
3.大家想想队列的机制(集合存储----队列存储---消息存储---消息服务器---数据库服务器----分布式存储------分布式文件系统)
解决办法:
多个系统采用消息交互,形成CS模型交互(集中式结构),当然还有其他的....
名词:
Message 消息
PayLoad 消息负载
点对点-----单一消费者(队列)
主题-------订阅者模型
异构-------接收转存然后多线程处理,支持失败策略,重试策略,持久化策略
优势:相比WS,RPC由于JMS具有事务机制,类似于数据库机制,安全性更好,所以又专门的MOM中间件比如MQ(个人目前使用中)
策略:
消息存储,不会丢失,支持水平扩展也就是JMS服务器的集群(DB集群,Server集群,WWW集群)
图示:
协议格式:(一下都是基于文本的协议)
HTTP:
私有的协议:
本质:就是格式不一致,HTTP大家公认的,都知道代表什么意思,而私有协议没有阅读协议手册,你根本不知道什么意思
打个比喻,二战时的电报就是一种协议,没有密码本你根本不知道是啥意思
加密:格式置换