消费者与提供者
- 提供者:暴露接口给其他服务调用
- 消费者:调用其他服务暴露的接口
服务A调用服务B,则服务B是提供者
服务B调用服务C,则服务B是消费者
因此对于一个服务来说,消费者和提供者并不是绝对的,而是相对的
Eureka注册中心
在不同环境下,如生产、测试等场景,消费者要调用提供者暴露的接口,就不能把调用接口的代码写死,因为不同环境下可能会有不同的端口号以及地址,为了解决这个问题,就要用到Eureka注册中心
Eureka的作用(服务端和客户端)
搭建Eureka注册中心(Eureka也是一个服务)
- 创建项目,引入EurekaServer依赖
- 编写启动类,添加EnableEurekaServer注解
- 编写配置信息(application.yml)
- 服务端口
- 服务名称
- 服务地址
服务注册
- 引入Eureka客户端依赖
- 编写配置信息(application.yml)(注册)
- 服务名称
- 服务地址
Ribbon负载均衡
负载均衡流程
修改负载均衡规则
在启动类中定义修改规则类
@Bean
public IRule randomRule(){
return new RandomRule(); // 随机规则
}