优秀的编程知识分享平台

网站首页 > 技术文章 正文

微服务笔记05-Eureka注册中心(eureka注册中心搭建)

nanyue 2024-09-18 21:39:18 技术文章 3 ℃

远程调用问题

  • 服务消费者该如何获取服务提供者的地址信息?
    • 服务提供者启动时向Eureka注册自己的信息,Eureka保存这些信息
    • 消费者根据服务名称向Eureka拉取提供者信息
  • 如果多个服务提供者,消费者该如何选择?
    • 服务消费者利用负载均衡算法,从服务列表中挑选一个
  • 消费者如何得知服务提供者的健康状态 ?
    • 服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状态
    • Eureka会更新记录服务列表信息,心跳不正常会被剔除,消费者就可以拉取到最新的信息

eureka原理

在Eureka架构中,微服务角色有两类

  • EurekaServer:服务端,注册中心
    • 记录服务信息
    • 心跳监控
  • EurekaClient:客户端
    • Provider:服务提供者
      • 注册自己的信息到EurekaServer
      • 每隔30秒向EurekaServer发送心跳
    • Consumer:服务消费者
      • 根据服务名称从EurekaServer拉取服务列表
      • 基于服务列表做负载均衡,选中一个微服务后发起远程调用

搭建EurekaServer

step1 创建项目,引入eureka-server依赖

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

step2 添加@EnableEurekaServer注解

@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
	public static void main(String[] args) {
		new SpringApplicationBuilder(EurekaApplication.class).run(args);
	}
}

step3 添加eureka配置

eureka:
    client:
        service-url:
            defaultZone: http://localhost:8888/eureka/

step4 启动服务,访问

服务注册

注册user-service、order-service

step1 引入eureka-client依赖

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

setp2 添加eureka配置

eureka:
    client:
        service-url:
            defaultZone: http://localhost:8888/eureka/

step3 启动服务,访问eureka注册中心

服务发现

step1 order-service添加eureka-client依赖

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

step2 order-service配置文件添加eureka配置

eureka:
    client:
        service-url:
            defaultZone: http://localhost:8888/eureka/

step3 给RestTemplate添加负载均衡注解@LoadBalanced

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

step4 用服务提供者的服务名称远程调用

step5 启动order-service,启动2个userservice,模拟负载均衡调用,web请求2次order-service,分别查看两个user-service的日志

ps:javaee毕设指导,有需求请联系

Tags:

最近发表
标签列表