同步通讯(调用)与异步通讯(调用)
同步通讯的优点
实时通讯,比如说视频电话等,对方有什么变动你就会知道
同步通讯的缺点
耦合度高:每次加入新的需求,都要修改原来的代码
性能下降:调用者调用其他服务,调用时间等于其他服务时间的总和加上自己所耗时长
资源浪费:在调用的过程中,不能即使的释放所占用的资源,高并发场景下会极度的浪费系统资源
级联失败:如果一方出问题,其他的调用也会出问题,就像多米诺骨牌一样,会导致整个微服务崩溃
异步调用的优点
1.服务解耦
2.服务性能提升,不用等待其他服务响应后在做操作,各司其职
3.服务没有互相依赖用担心级联问题(多米诺骨牌效应)
4.流量削峰
异步调用的缺点
1.对于broker的要求特别高,因为整个服务的调用都是由broker来完成的,在高并发的情况下,broker的性能要特别好,一旦broker挂了整个微服务就挂了
2.因为过度依赖broker,所以没有明显的调用链路,出了问题不好排查