微服务调用,和mq使用场景

服务调用和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网络访问其他的服务,而我们不能控制这个服务都叫三方服务

Guess you like

Origin blog.csdn.net/Chen4852010/article/details/120897224