Ribbon整合Eureka,出现 No instances available for XXX 异常
请观察这里的片段有没有问题?
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
} @Autowired
private RestTemplate restTemplate; @Autowired
private LoadBalancerClient loadBalancerClient; @RequestMapping(value = "/hi")
@ResponseBody
public String hi() {
ServiceInstance instance = loadBalancerClient.choose("HELLO");
URI helloUri = URI.create(String.format("http://%s:%s/hello", instance.getHost(), instance.getPort()));
System.out.println("Target service uri = "+helloUri.toString());
return restTemplate.getForObject(helloUri,String.class);
}
实际上,hi请求映射方法存在问题;问题是 因为 LoadBalancedClient 这里的 choose 根据 Eureka注册的服务名(ServiceId == spring.application.name) 命中一个服务提供者;这里就不能使用 加了 LoadBalanced注解的RestTemplate对象了,因为会根据 host 去eureka查找服务提供者,这样就会抛异常 :No instances available for XXX ,也就是找不到指定的服务ID拉
可以使用2中方式:
LoadBalancerClient 进行手动的http请求;Ribbon集成了Apache HttpClient 、 OkHttp请求客户端使用;怎么使用自己琢磨去吧。。。
ribbon:
okhttp:
enabled: true
restclient:
enabled: true
mmp,废了3个小时左右,
Ribbon整合Eureka,出现 No instances available for XXX 异常的更多相关文章
- Ribbon整合Consul,出现No instances available for XXX 异常
先贴代码: @RestController public class CallHelloController { @Autowired private LoadBalancerClient loadB ...
- springcloud报错-Ribbon整合Eureka,出现 No instances available for XXX 异常
RestTemplate注入有问题 新版的需要这样注入: @Bean @LoadBalanced RestOperations restTemplate(RestTemplateBuilder bui ...
- Ribbon整合Eureka组件,以实现负载均衡
1整体框架的说明 在本案例的框架里,我们将配置一个Eureka服务器,搭建三个提供相同服务的Eureka服务提供者,同时在Eureka服务调用者里引入Ribbon组件,这样,当有多个url向服务调用者 ...
- 【一起学源码-微服务】Ribbon 源码三:Ribbon与Eureka整合原理分析
前言 前情回顾 上一篇讲了Ribbon的初始化过程,从LoadBalancerAutoConfiguration 到RibbonAutoConfiguration 再到RibbonClientConf ...
- Ribbon 和 Eureka 积分
Ribbon 这是 Netflix 云服务的中间层宣布开放源代码项目,它的主要功能是提供客户机端软件的负载均衡算法,将 Netflix 中间层服务一起. Eureka 是 RESTfu ...
- 基于Spring cloud Ribbon和Eureka实现客户端负载均衡
前言 本案例将基于Spring cloud Ribbon和Eureka实现客户端负载均衡,其中Ribbon用于实现客户端负载均衡,Eureka主要是用于服务注册及发现: 传统的服务端负载均衡 常见的服 ...
- spring boot 2.0.3+spring cloud (Finchley)2、搭建负载均衡Ribbon (Eureka+Ribbon+RestTemplate)
Ribbon是Netflix公司开源的一个负载均衡组件,将负载均衡逻辑封装在客户端中,运行在客户端的进程里. 本例子是在搭建好eureka的基础上进行的,可参考spring boot 2.0.3+sp ...
- 0405-服务注册与发现-客户端负载均衡-Ribbon 同Eureka使用,Ribbon脱离Eureka使用
一.Ribbon 同Eureka使用,注意事项 前几节一同使用,注意事项: 如果没有其他区域数据源,则根据客户端配置进行猜测(与实例配置相反).能够获取eureka.client.availabili ...
- 基于WPF系统框架设计(5)-Ribbon整合Avalondock 2.0实现多文档界面设计(二)
AvalonDock 是一个.NET库,用于在停靠模式布局(docking)中排列一系列WPF/WinForm控件.最新发布的版本原生支持MVVM框架.Aero Snap特效并具有更好的性能. Ava ...
随机推荐
- Camtasia Studio如何添加画中画
将录像文件和其他视频文件拖放到剪辑箱,右击录像文件(camrec文件)添加到时间轴,一般这个就是主要的视频文件,我们会在这个基础上添加字幕,配音,画中画等,拖进去之后可以发现多出来了一个视频1和音频1 ...
- antd 如何让 Row 中的 Col 自动换行?
1.解决方案 在需要换行处,设置一个空的 Col // 空白(特殊情况处理) const empty = ( <Col md={6} sm={24}></Col> ); .
- WMS8_仓库配置
仓库划分为不同的区域,比如收货区,出货区,库存区,这些区域在odoo中称之为库位[location],库位可以上下嵌套,形成一个树状的层级关系. 库位分为不同的类型 物理库存位置[Physical s ...
- Gas Station,转化为求最大序列的解法,和更简单简单的Jump解法。——贪心、转化
Gas Station There are N gas stations along a circular route, where the amount of gas at station i is ...
- 提高系统性能——对SQL语句优化的思考
软件在研发的过程中自始至终都在留意着系统的可扩展性.但与此同一时候也在关注着系统的性能,SQL语句作为系统性能的一环不容忽视.从今天開始结合开发的经验,谈一下我对SQL语句优化的理解和认知: 1.在联 ...
- C# - CLR
The Common Language Runtime (CLR), the virtual-machine component of Microsoft's .NET framework, m ...
- [unity3d]unity平台的预处理
在开发中,特别是unity的跨平台中,我们常常会在各个平台游走,如安卓版,苹果版,PC版.......在此不同的平台上,有可能我们须要做不同的操作.然而我们就能够用unity的自带的平台宏定义方式来做 ...
- SpringBoot学习之@SpringBootApplication注解
下面是我们经常见到SpringBoot启动类代码: @SpringBootApplicationpublic class DemoApplication extends SpringBootServl ...
- HDU2489 Minimal Ratio Tree 【DFS】+【最小生成树Prim】
Minimal Ratio Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- Android开发之中的一个个简单的通讯录实现(源代码)
通讯录就是一个ListView.我们须要通过数据库和ContentProvider来活动通讯录的数据.当然,我们应该提供选中后编辑的功能. 非常easy的一个通讯略Demo,所以.直接上代码,须要的看 ...