发布时间:2024-01-27 12:30
在前面两节内容中,我们已经完成了Eureka服务注册中心的搭建,和服务的注册,本节我们将对服务的发现以及负载均衡策略进行分析
在Eureka中,服务发现是基于服务名称来获取服务列表,然后通过负载均衡策略,选择列表中合适的一项来进行服务的调用。
1、在已启动的userService服务中右键,选择 Copy Configuration
2、在虚拟机参数 VM options
中设置 -Dserver.port=8082
(端口号要和前一个服务不同)
3、启动我们设置好的第二个服务
4、我们再启动orderService服务和Eureka服务中心
5、将RestTemplate注入到Spring容器中,并添加 @LoadBalanced
注解实现负载均衡策略。
6、在orderService服务中,我们在业务层修改调用userService服务的的url,将ip端口的调用模式修改为userService的服务名称。
7、我们查看Eureka服务中心,可以看到已注册的服务,其中userService服务是一个列表,包含了8081,8082两个端口的服务。
8、我们通过requestMapping调用orderService的queryOrderByUserId方法。
9、我们查看userService服务其中一个端口的控制台,假设先看8081
可以看到控制台并没有任何输出,我们再查看8082:
可以看到该端口的服务执行了一条sql语句,很明显,orderService选择了8082端口的userService服务进行调用。
前面我们提到过,在Eureka中,服务发现是基于服务名称来获取服务列表
,然后通过负载均衡策略,选择列表中合适的一项来进行服务的调用。因此在本案例中,orderService通过Eureka服务中心发现了需要调用的userService服务列表,然后通过负载均衡的方式选择了8082端口的userService服务进行服务调用。
Bika LIMS 开源LIMS集—— SENAITE的安装
为什么 Python 没有函数重载?如何用装饰器实现函数重载?
单片机IO详解(上拉 下拉 准双向 输入 输出 推挽 开漏)
springBoot整合RedisCacheManager + CacheManager +@Cacheable 实现注解化缓存管理
mybatis根据表名动态批量新增,批量更新的实现方法(附排坑过程+完整源码完全可用)
JASMINER:创新突破存算一体核心技术,抢占高通量芯片制高点
学会在Vue项目中插入高德地图JS API与地图的相关设置,看这一篇就够了~(保姆级精简教学)