Eureka 注册中心(黑马程序员)

搭建 EurekaServer

1 创建项目,引入 spring-cloud-starter-netflix-eureka-server 的依赖

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

2 编写启动类,添加 @EnableEurekaServer 注解

3. 添加 application.yml 文件,编写下面的配置:

server:
  port: 10086
spring:
  application:
    name: eurekaserver
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka/

注册 user-service

1 user-service 项目引入 spring-cloud-starter-netflix-eureka-client 的依赖

 user-service 项目引入 spring-cloud-starter-netflix-eureka-client 的依赖

2. 在 application.yml 文件,编写下面的配置:

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka/
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
    username: root
    password: "1234"
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: userservice

order-service 完成服务注册

1. 在 order-service 项目引入 spring-cloud-starter-netflix-eureka-client 的依赖

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2. 在 application.yml 文件,编写下面的配置:

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka/
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
    username: root
    password: "1234"
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: orderservice

order-service 完成服务拉取

服务拉取是基于服务名称获取服务列表,然后在对服务列表做负载均衡

  1. 修改 OrderService 的代码,修改访问的 url 路径,用服务名代替 ip 、端口:
String url = "http://userservice/user/" + order.getUserId();
  1. 在 order-service 项目的启动类 OrderApplication 中的 RestTemplate 添加负载均衡注解:
String url = "http://userservice/user/" + order.getUserId();

Ribbon 负载均衡

负载均衡策略

通过定义 IRule 实现可以修改负载均衡规则,有两种方式:

  1. 代码方式:在 order-service 中的 OrderApplication 类中,定义一个新的 IRule :
@Bean
public IRule randomRule(){
return new RandomRule();
}
``
2. 配置文件方式:在 order-service 的 application.yml 文件中,添加新的配置也可以修改规则:
 

```cpp
userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #负载均衡规则

Ribbon 默认是采用懒加载,即第一次访问时才会去创建 LoadBalanceClient ,请求时间会很长。
而饥饿加载则会在项目启动时创建,降低第一次访问的耗时,通过下面配置开启饥饿加载:

ribbon:
  eager-load:
    enabled: true #开启饥饿加载
    clients: userservice #指定对 userservice这个服务饥饿加载

相关推荐

  1. Eureka 注册中心黑马程序员)

    2024-04-01 18:48:02       22 阅读
  2. 二、Eureka注册中心

    2024-04-01 18:48:02       17 阅读
  3. Eureka注册中心

    2024-04-01 18:48:02       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-01 18:48:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-01 18:48:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-01 18:48:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-01 18:48:02       20 阅读

热门阅读

  1. SSH和SFTP

    2024-04-01 18:48:02       15 阅读
  2. 一些常见的Redis问题和答案

    2024-04-01 18:48:02       18 阅读
  3. 记一次有趣的区分三角形和四边形的AI试验

    2024-04-01 18:48:02       14 阅读
  4. vue v-for 同时遍历两个组数

    2024-04-01 18:48:02       17 阅读
  5. 使用C++ opencv创建小视口

    2024-04-01 18:48:02       15 阅读
  6. redis 常用命令

    2024-04-01 18:48:02       16 阅读
  7. docker run 使用 -p 命令一直显示端口被占用

    2024-04-01 18:48:02       17 阅读
  8. git 更改仓库地址

    2024-04-01 18:48:02       19 阅读
  9. 2024.2.6力扣每日一题——魔塔游戏

    2024-04-01 18:48:02       17 阅读
  10. Python 树结构库treelib使用教程

    2024-04-01 18:48:02       15 阅读
  11. npm常用命令详解

    2024-04-01 18:48:02       15 阅读
  12. 蓝桥杯备考随手记: practise03

    2024-04-01 18:48:02       13 阅读