案例 | 优点 | 缺点 | |
---|---|---|---|
同步调用 | Feign | 时效性强,可以立即得到结果 | 1、耦合性高 |
2、性能和吞吐能力下降 | |||
3、有额外的资源消耗 | |||
4、有级联失败问题 | |||
异步调用 | RabbitMQ | 1、吞吐量提示:无需等待订阅者处理完成,响应更快速 | |
2、故障隔离:服务没有直接调用,不存在级联失败问题 | |||
3、调用间没有阻塞,不会造成无效的资源占用 | |||
4、耦合度极低,每个服务都可以灵活插拔,可替换 | |||
5、流量削峰:不管发布事件的流量波动多大,都有 Broker 接收,订阅者可以按照自己的速度去处理事件 | 1、架构复杂了,业务没有明显的流程线,不好管理 |
2、需要依赖于Broker的可靠、安全、性能 |