rabbit主要特性:
- 解耦 :服务之间通过rabbit传递消息减少服务端执行时间,增加请求的可靠性(基本一定会执行,请求丢失概率极低)
- 跨语言:rabbit支持多种开发语言,减少了不同语言系统间请求的复杂度
- 高可用:rabbit支持集群模式,对高并发、削峰、平谷等都有较好的处理,并且支持消息数据的持久化
正常请求:客户端请求A服务,A服务依赖于B服务,此时如果B服务程序异常或服务器宕机了那么这个请求就失败了。
使用消息中间件:A服务把需要请求B服务的信息告知rabbit,由rabbit去告知B服务,此时A只需要确定消息给到rabbit了就行了,不需要等待B服务的执行结果,从而实现系统解耦并加快请求的响应时间。