以前我们发起一个请求,会通过浏览器对Controller中的方法进行发起请求。
例如下面这张图所显示样子。
那么我们服务与服务之间的调用是通过什么来进行的呢,我们可以通过RestTemplate来进行远程调用,这是Spring提供的一个工具类,可以先这样理解,可以帮助我们发请求。
下面是我们使用了RestTemplate后所写的代码,一共有2个版本,在后期中我们用另外一种技术取代RestTemplate, 即Feign远程调用。.
第一代版本:
这里面我们直接通过字符串硬编码的方式进行拼接地址,其中
order.getUserId()为根据当前订单获取用户的id,但是我有用户id并没有办法拿到用户的信息,所以我需要去另外一个服务中也就是userService服务中去
拿到该id所对应的对象。
通过上述方法固然我确实拿到了完整的订单信息,但是一旦我的端口号或者
当前我的userService服务部署了不止一台,那么这里就没有办法进行轮动了,这是后面的知识,也就是注册中心Eureka和Nacos所操心的事情。
第二版本:
那么下面给出引入了Nacos和Eureka后得代码进行比较。
链接: Nacos学的使用.推荐学习Nacos
链接: Eureka的学习使用.