刚接触分布式项目
练习SpringCloud 分布式,eureka 注册 后台接口 页面看数据库里面的数据 都是分开模块写的
我在查询数据时报java.lang.IndexOutOfBoundsException: Index: 0
知道是下标越界,我把它理解成了没有查询到数据,我就去bebug一下 结果:list返回的就是0
我就去看我的 后台接口的模块 里面的数据库密码 结果:数据库密码不一致
改完数据库密码之后还是这个错java.lang.IndexOutOfBoundsException: Index: 0
然后我就去页面的接口里面找到了USERSPROVIDER
这个是 通过客户端负载均衡器获取生产者服务器基础地址
我把它理解成了一个后台送数据到前台的一个比较固定的套路
这个名字要和Application的名字一致
/***
* 通过客户端负载均衡器获取生产者服务器基础地址
* @return
*/
public String getServerUrl() {
//通过客户端调用器查找指定服务 Application的名字一致 "USERPROVIDER"
List<ServiceInstance> instList = discoveryClient.getInstances("USERSPROVIDER");
//获取第一个服务器
ServiceInstance inst = instList.get(0);
//获取服务提供者服务器ip、端口号
String ip = inst.getHost();
int port = inst.getPort();
//拼接调用地址
String url="http://"+ip+":"+port+"/users";