微服务技术学习(Day 2)

46 阅读1分钟

消费者与提供者

  • 提供者:暴露接口给其他服务调用
  • 消费者:调用其他服务暴露的接口

服务A调用服务B,则服务B是提供者

服务B调用服务C,则服务B是消费者

因此对于一个服务来说,消费者和提供者并不是绝对的,而是相对的

Eureka注册中心

在不同环境下,如生产、测试等场景,消费者要调用提供者暴露的接口,就不能把调用接口的代码写死,因为不同环境下可能会有不同的端口号以及地址,为了解决这个问题,就要用到Eureka注册中心

Eureka的作用(服务端和客户端)

image.png

image.png

搭建Eureka注册中心(Eureka也是一个服务)

  1. 创建项目,引入EurekaServer依赖
  2. 编写启动类,添加EnableEurekaServer注解
  3. 编写配置信息(application.yml)
    • 服务端口
    • 服务名称
    • 服务地址

服务注册

  1. 引入Eureka客户端依赖
  2. 编写配置信息(application.yml)(注册)
    • 服务名称
    • 服务地址

Ribbon负载均衡

负载均衡流程

image.png

修改负载均衡规则

在启动类中定义修改规则类

@Bean
public IRule randomRule(){
return new RandomRule();  // 随机规则
}

饥饿加载

image.png