Ribbon是什么?
Ribbon能干嘛?
1、springcloud-provider-dept-80(客户端)向pom.xml中添加Ribbon和Eureka依赖:
<!--Ribbon--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-ribbon</artifactId> <version>1.4.6.RELEASE</version> </dependency> <!--Eureka: Ribbon需要从Eureka服务中心获取要拿什么--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> <version>1.4.6.RELEASE</version> </dependency>
2、在yaml中添加eureka配置
server:
port: 80
# Eureka配置
eureka:
client:
register-with-eureka: false # 不向 Eureka注册自己
service-url: # 从三个注册中心中随机取一个去访问
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
3、修改自定义Spring配置类:MyConfig.java 配置负载均衡实现RestTemplate
@Configuration public class MyConfig { @Bean @LoadBalanced //配置负载均衡实现RestTemplate // 通过rest模板去访问服务创建者的方法 public RestTemplate restTemplate() { return new RestTemplate(); } }
4、修改controller
//Ribbon:我们这里的地址,应该是一个变量,通过服务名来访问 //private static final String REST_URL_PREFIX = "http://localhost:8001"; private static final String REST_URL_PREFIX = "http://SPRINGCLOUD-PROVIDER-DEPT-8001";
SPRINGCLOUD-PROVIDER-DEPT-8001:是服务发现8001端口中的项目配置中的:
5、主启动类加上@EnableEurekaClient注解,开启Eureka
// 开启eureka客户端 @EnableEurekaClient @SpringBootApplication public class ConsumerRun_80 { public static void main(String[] args) { SpringApplication.run(ConsumerRun_80.class, args); } }
6、测试
开启7001、7002服务注册。
开启服务提供8001端口。
开启80(客户端)
(查询所有部门:配置80端口所以不需要写端口号):localhost/consumer/dept/query/all
原文:https://www.cnblogs.com/zhangzhixi/p/14381140.html