服务调用和mq的区别和联系
1.联系:都是在分布式系统下,多个服务之间来支持一个业务
2.区别:服务调用是同步的,mq的生产者和消费者时异步支持一个业务的
如何选择用哪个
1.如果业务必须是同步的,或者说A服务必须依靠B服务的完成才能完成,选择服务调用
2.如果业务是异步的,B服务完成与否,A服务都可以完成,那么A服务不用等待B服务完成,选择mq
3.上面2条简单来说A服务需要B服务完成后返回的数据,那么用服务调用,如果不需要那么mq
4.一般在使用第三方服务(服务在其他公司的服务器上部署,或者说不在自己的注册中心)的时候使用rabbitmq的异步方式,
因为第三方的项目崩溃是我们不可控的。但是采用分布式的项目是由我们自己开发的,项目可控
但是前提用mq是,A服务不用三方服务完成后返回的数据
三方服务是什么
1.三方服务一般不在我们的服务器上即不能服务注册,也就不能用feign调用
2.例如短信发送,图片上传,视频点播,这些都是调用了其他公司的服务器的,虽然不是通过服务调用的方式执行的
是通过api方式开启通道,去访问其他服务器的,简单的你去连接mysql,如果不是公式的,那么也是三方服务,
也是通过 ip地址加端口号加 参数来访问的,
3.简单来说,通过http网络访问其他的服务,而我们不能控制这个服务都叫三方服务
|