文章目录
修改microservicecloud-consumer-dept-80工程
修改pom
<!-- Ribbon相关 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
修改application.yml
追加eureka的服务注册地址
server:
port: 80
#指定端口,具体视自己情况而定,只要不重复就可以
#spring:
# devtools:
# livereload:
# port: 35730
eureka:
client:
register-with-eureka: false
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
对ConfigBean进行新注解@LoadBalanced
获得Rest时加入Ribbon的配置
package com.matthew.springcloud.cfgbeans;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
/**
* @Description TODO
* @Author Matthew
* @Date 2019/6/29 20:27
* @Version 1.0
*/
@Configuration
public class ConfigBean { //boot -->spring applicationContext.xml --->@Configuration ConfigBean = applicationContext.xml
@Bean
@LoadBalanced//Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡工具
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
/*@Bean
public UserService getUserService(){
return new UserServiceImpl();
}*/
//<bean id="userService" class="com.matthew.tmall.UserServiceImpl">
主启动类DeptConsumer80——App添加@EnableEurekaClient
package com.matthew.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
/**
* @Description TODO
* @Author Matthew
* @Date 2019/6/29 20:53
* @Version 1.0
*/
@EnableEurekaClient
@SpringBootApplication
public class DeptConsumer80_App {
public static void main(String[] args) {
SpringApplication.run(DeptConsumer80_App.class, args);
}
}
修改DeptController_Consumer客户端访问类
//private static final String REST_URL_PREFIX = "http://localhost:8001";
private static final String REST_URL_PREFIX = "http://MICROSERVICECLOUD-DEPT";
测试
- 先启动3个eureka集群后,在启动microservicecloud-provider-dept-8001并注册金eureka
- 启动microservicecloud-consumer-dept-80
总结
Ribbon和Eureka整合后Consumer看看而已直接调用服务而不用再关心地址和端口号