其实这就跟有快递公司为你负责收件送件,跟每一个人都自己送件,这样的区别。 显然消息中间件是通过牺牲一些效率,来换取更大的灵活性(服务器中继寻址),从而最终用另外一种形式来提高效率。 例如,可以自动保持高可靠、复杂均衡,可以保证服务器集群中每一台主机热插拔、应用系统热更新。等等。等你有这种规模的系统的需求时,等你用低级的服务形式感觉很难配置很难优化时,你就觉得这是有效率的。而如果只是层次不高地随便弄几个webservice感觉就很足够的时候,那么搞消息分发反而不如你的webserivce更有效率的。
之前把系统拆分成几个系统,系统之间的通信用的是http接口方式,最近看到说可以使用消息中间件实现。
使用http的话,应用需要care协议设计,care服务是否启动 http方式的缺点: 1.同步方式,当然这个不是绝对,看你自己实现了 2.如果想做横向可扩展,需要自己设计协议解决分布,负载均衡还有各种异常处理 3.A服务依赖B服务,如果B服务有瓶颈,使用HTTP的方式,B的瓶颈也会成为A的瓶颈(短板效应) mq有哪些优点: 1.异步方式,系统伸缩性好 2.横向拓展的问题基本不用考虑,生产者只需要PUT PUT PUT,起多个Consumer让他们自己去取数据即可 3.系统遇到大流量冲击的时候,MQ还可以帮忙缓冲,不至于直接被冲垮(HTTP同步的时候这里可能会是瓶颈)
25,980
社区成员
4,366
社区内容
加载中
试试用AI创作助手写篇文章吧