您的位置:首页 > 编程语言 > Java开发

springmvc(17)异步消息简介(部分)

2016-07-20 10:12 337 查看
【0】README
1)本文旨在 intro 异步消息的 相关基础知识;

【1】intro








【1.1】发送消息
1)intro:间接性是异步消息的关键所在;
2)当一个应用向另一个应用发送消息时,两个应用之间没有直接的联系。相反的是,发送方的应用程序会将消息交给一个服务,由服务确保将消息投递给接收方应用程序;
3)在异步消息中有两个主要的概念(concepts):(干货——异步消息中的两个主要概念——消息代理和目的地)

c1)消息代理:相当于邮局;当一个应用发送消息时,会将消息发送给一个消息代理;
c2)目的地:消息代理可以确保消息被投递到指定的目的地,同时解放发送者,使其能够继续进行其他的业务;

4)两个目的地:(干货——两个目的地——队列和主题)

target1)队列(queue):对应点对点模型
target2)主题(topic):发布/订阅模型;

4.1)点对点模型:点对点模型中,每条消息都有一个发送者 和 一个 接收者;因为消息投递后会从队列中删除,这样就可以保证消息只能投递给一个接收者了;(但是,通常case
下, 可以使用几个接收者来处理队列中的消息)(干货——使用(一个或)几个接收者来处理队列中的消息——如群聊消息)




4.2)发布/订阅模型:主题的所有订阅者都会接收到此消息的副本;(干货——所有订阅者都会接收到此消息——如全体成员消息)



【2】异步消息的优点
【2.1】同步消息的缺点(deficit):

d1)意味着等待;客户端必须等待远程方法结束后才能继续执行;
d2)客户端通过服务接口与远程服务相互耦合;如果服务的接口发送变化,此服务的所有客户端都需要做相应的改变;
d3)客户端和远程服务的位置耦合。客户端必须配置服务的网络位置,这样它才知道如何与远程服务进行交互;
d4)客户端与服务的可用性相耦合。如果远程服务不可用,客户端实际上也无法正常运行了;

【2.2】异步消息的优点(merit):

m1)无需等待;
m2)面向消息和解耦;
m3)位置独立;
m4)确保投递;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: