SpringCloudAlibaba——Nacos负载均衡的使用_Liu_Shihao
颁布准确时间:2023-08-25 16:12:03 服务器 50次
标签:
目录一、介绍二、依赖三、负载均衡3.1 使用@LoadBalanced注解3.2 使用Feign四、测试一、介绍Nacos不仅可以用作注册中心和配置中心,还可以做负载均衡。二、依赖<!-- Nacos注册中心--><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-clo...
目录
一、介绍二、依赖三、负载均衡3.1 使用@LoadBalanced注解负载均衡3.2 使用Feign负载均衡 四、测试一、介绍
Nacos不仅仅能够 应用于注册申请机构点和选配机构点,还能够 做负载电阻平衡。二、依赖
<!-- Nacos注册中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
在Nacos
注册中心的依赖中已经集成了ribbon
的依赖了:
所以不需要在添加ribbon的依赖。
三、负载均衡
有两种
方式开启负载均衡
- 一个是使用@LoadBalanced注解通过RestTemplate来进行服务调用。另一个是直接使用Feign来进行服务调用。
3.1 使用@LoadBalanced注解负载均衡
注入RestTemplate
,并添加@LoadBalanced
注解开启负载均衡
@Bean
@LoadBalanced // ribbon注解负载均衡
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
Controller:
注入RestTemplate
3.2 使用Feign负载均衡
Feign依赖症:<!--feign-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>${feign.version}</version>
</dependency>
其实Feign内部也集成了ribbon的依赖,还有Hystrix的依赖,所以Feign既有负载均衡的作用还有服务熔断的功能。
新建Feign接口:
使用@FeignClient
注解,name
是Account服务注册到Nacos的服务名。
@FeignClient(name = "springcloud-alibaba-account")
public interface AccountApi {
/**
* 查询所有账户数据
* @return
*/
@GetMapping("/account/findAll")
String findAll();
}
Controller:
注入Feign接口
四、测试
现启动了两个服务:Order和Account,其中Account启动了两个实例:
开启负载均衡后,Order服务直接使用服务名
就可轮询
的访问Account服务。
使用RestTemplate调用:
使用Feign调用:
皇冠新体育APP相关的文章
- 皇冠新体育APP:如何将实体转为 数组对象_将实体转换为Symfony中的数组_Comphen
- 组件中使用_【Blazor】在ASP.NET Core中使用Blazor组件 创建一个音乐播放器_e名牙医
- statusbar 尺寸 显示图标_【教程】一些有关于status bar修改的教程--_weixin_39884832
- v-for的解构赋值_狗焕sama_v-for 可以使用解构赋值
- 皇冠新体育APP:Android Notification悬浮窗实现_dondurma_android 悬浮通知
- axios不发起请求_反应和AXIOS -发送GET和POST请求,而不是仅POST_weixin_39646658
- android 嵌套分组拖动_Android拖拽和嵌套滑动_weixin_39670267
- 皇冠新体育APP:Android获取app内存使用_glunoy_android 获取app内存
- webview给前端页面传递数据_Android WebView交互传递json字符串并解析_weixin_39719727
- Unity 安卓打开DOC文档_pnzpb_unity 打开word文档
- rraylist参数_Retrofit+RxJava传递数组参数_weixin_39944638
- 页面的跳转_???448_intent it=new intent(getapplicationcontext(),maina
- RSA密钥C#端转换成java密钥_女装大佬大老李_c# 转换密钥
- 皇冠新体育APP:手动封装XMLHttpRequest_奔跑的痕迹_封装xmlhttprequest
- TP5文章上一篇,下一篇_laver019_tp5 上一篇
- android webview输入框_Android开发之WebView输入框提示解决办法_weixin_39760619