SpringCloud之Eureka(SpringCloud二)

发布于:2022-12-17 ⋅ 阅读:(228) ⋅ 点赞:(0)

目录

1. Eureka作用

2. 搭建注册中心

3. 服务注册

4. 服务发现


1. Eureka作用

最基础的远程调用使用RestTemplate#getForObject(url,Object.class)方法,url中的地址是写死的,若一个服务提供者会有多个实例,调用者调用哪一个?只能固定调用?显然不行。

这就需要用到Eureka注册中心,可以实现服务注册和服务发现等。

下面从搭建注册中心----->服务注册----->服务发现

2. 搭建注册中心

  • 创建eureka-server服务(maven模块)

  • 引入eureka依赖

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
  • 在启动类加@EnableEurekaServer注解,开启eureka注册中心功能。

  • 编写application.yml配置文件

    server:
      port: 10086
    spring:
      application:
        name: eureka-server
    eureka:
      client:
        service-url: 
          defaultZone: http://127.0.0.1:10086/eureka
  • 启动微服务,访问http://127.0.0.1:10086

3. 服务注册

例:将user-service注册到eureka-server中

  • 引入eureka-client依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  • application.ym中添加eureka配置

spring:
  application:
    name: userservice
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka
  • 启动多个user-service实例

查看原资料。

4. 服务发现

例:将order-service的逻辑修改:向eureka-server拉取user-service的信息,实现服务发现。

  • 引入eureka-client依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  • application.ym中添加eureka配置

spring:
  application:
    name: orderservice
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka
  • 服务拉取和负载均衡,给RestTemplate这个Bean添加@LoadBlanced注解。

        


网站公告

今日签到

点亮在社区的每一天
去签到