与 provider 一样,在 springcloudtest 项目中创建 consumer 的 moudle
输入项目名
选择 Web 、Eureka Discovery Client依赖
appliction.properties
spring.application.name=provider server.port=1115 eureka.client.service-url.defaultZone=http://eurekaB:1112/eureka,http://eurekaA:1111/eureka 编写 UseHelloController,使用 Java SE 请求访问 provider, @RestController public class UseHelloController { @GetMapping("/hello1") public String hello1() { HttpURLConnection conn = null; try { URL url = new URL("http://localhost:1113/hello"); conn = (HttpURLConnection) url.openConnection(); if (conn.getResponseCode() == 200) { BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String s = br.readLine(); br.close(); return s; } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return "error!"; }-在之前的 Eureka Server 集群基础上,打包 provider、consumer,通过命令行启动两个服务:
java -jar provider-0.0.1-SNAPSHOT.jar --server.port=1113 java -jar consumer-0.0.1-SNAPSHOT.jar --server.port=1115然后通过,访问 Eureka 的可视化窗口:http://localhost:1111,查看注册情况
通过客户端 consumer 调用 provider 接口,成功了,证明单客户端、集群化服务的配置可用了 开始集群化 Eureka Clinet ,即集群化 provider、consumer服务,通过命令行再启动两个服务 java -jar provider-0.0.1-SNAPSHOT.jar --server.port=1114 java -jar consumer-0.0.1-SNAPSHOT.jar --server.port=1116 查看注册情况 访问:http://localhost:1111 通过 1116 端口的 consumer 服务访问 provider的内容,如果成功证明 consumer 集群可用; 因为 consumer 中的调用代码写死是访问 1113 端口的 provider,不能确定 provider 集群是否好用;获取服务也是写死的没有利用 Eureka Discovery Client ;在介绍 RestTemplate 和负载均衡的时候再进一步验证 provider 集群,并利用 Eureka 获取服务地址