Eureka注册中心

本文介绍了Eureka在微服务架构中的作用,包括服务提供者向Eureka注册、服务消费者通过Eureka发现服务以及使用负载均衡进行服务调用。搭建EurekaServer涉及添加依赖、配置启动类和应用配置。服务注册和发现则需要在服务模块引入Eureka客户端依赖并配置服务URL。通过@LoadBalanced的RestTemplate实现负载均衡的远程调用。
摘要由CSDN通过智能技术生成

1.Eureka作用:

服务提供者启动时会把注册信息传递到eureka注册中心,服务消费者可以拉取(pull)注册中心的服务。如果有多个服务提供者,会采用负载均衡算法选取其中一个服务提供者。

服务提供者每30S就会向Eureka-Server发送心跳请求,报告健康状态,eureka 会更新记录服务列表信息,心跳不正常会被剔除。以便消费者及时拉取最新的信息。

2.搭建Eureka Server

1.在idea创建eureka-service模块,在pom.xml中引入下方依赖:

<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/  #eureka服务端地址

3.注册user-service

1.在user-service引入下方依赖:

<!--引入eureka客户端依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

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

spring:
    application:
        name: userservice
eureka:
    client:
        service-url:
            defaultZone: http://127.0.0.1:10086/eureka/

4.服务拉取 

1.修改 OrderService 的代码,修改访问的 url 路径,用服务名代替 ip 、端口:

 //2.利用restTemplate发送http请求
        //2.1 url路径
        String url = "http://userservice/user/" + order.getUserId();

2.在启动类处加入@LoadBalanced注解,利用RestTemplate实现负载均衡。

  @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

5.总结 

1.搭建 EurekaServer
        • 引入 eureka-server 依赖
        • 添加 @EnableEurekaServer 注解
        • 在 application.yml 中配置 eureka 地址
2. 服务注册
        • 引入 eureka-client 依赖
        • 在 application.yml 中配置 eureka 地址
3. 服务发现
        • 引入 eureka-client 依赖
        • 在 application.yml 中配置 eureka 地址
        • 给 RestTemplate 添加 @LoadBalanced 注解
        • 用服务提供者的服务名称远程调用 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值