• SpringCloud系列(一)Eureka 注册中心


    本文主要介绍 Eureka 用来做什么? 如何搭建以及测试;
    微服务框架区分于普通的单体架构项目,它是一种经过良好架构设计的分布式架构方案,根据业务功能对系统进行拆分,将每个业务模块都当做是一个独立的项目进行开发,相比较于单体架构方案当然是好处多多,如扩展性比较好,有更低的耦合度,但是如何去远程调用某一个接口或者是功能呢?
    某个服务,既可以是提供者(暴露接口给其他微服务调用),也可以是消费者(调用其他微服务提供的接口),那么消费者如何获取服务提供者的具体信息呢?如果有多个服务提供者,消费者该如何选择呢?消费者又是如何感知服务提供者的健康状态呢?这时候 Eureka 的作用就展现出来了!!!

    ❤ Eureka 的作用及角色

    • 作用一:帮助消费者获取服务提供者的具体信息,服务提供者启动的同时向 Eureka 注册自己的信息并将这些信息保存下来,消费者根据服务名称想 Eureka 拉取提供者信息;
    • 作用二: 帮助消费者选择服务提供者,当有多个服务提供者时,消费者利用负载均衡算法从服务列表中挑选一个;
    • 作用三:帮助消费者感知服务提供者的健康状态,服务提供者每隔 30 秒就会向 EurekaServer 发送心跳请求,报告健康状态;Eureka 会更新记录服务列表信息,如果发现心跳不正常立马进行剔除,这时候消费者就能够拉取到最新的消息了。

    在 Eureka 架构中,主要有两种角色:

    • EurekaServer 作为服务端主要用来记录服务信息以及健康状况的检测;
    • EurekaClient 作为客户端主要分为服务的提供者及服务的消费者,服务提供者(Provider)将自己的信息注册到 EurekaServer 中,每隔 30 秒就会向 EurekaServer 发送心跳信息;服务消费者(Consumer)主要根据服务名称从 EurekaServer 拉取服务列表,基于服务列表做负载均衡,选中一个微服务后发起远程调用。

    总体流程如下图所示:
    在这里插入图片描述

    ❤ ❤搭建 EurekaServer

    第一步:创建 EurekaServer 包,pom.xml 中引入 spring-cloud-starter-netflix-eureka-server 依赖;

    >
                >org.springframework.cloud>
                >spring-cloud-starter-netflix-eureka-server>
    >
    
    • 1
    • 2
    • 3
    • 4

    第二步:EurekaServer 启动类中添加 @EnableEurekaServer 注解;
    在这里插入图片描述
    第三步:在 application.yml 中配置 EurekaServer;
    在这里插入图片描述
    第四步:服务注册,如注册 provider-service 注册到 EurekaServer 中;

    • 在 provider-service 项目中引入 spring-cloud-starter-netflix-eureka-client 依赖;在这里插入图片描述
    • 编写 provider-service 的配置文件;
      在这里插入图片描述

    第五步:服务发现

    • 在 consumer-service 项目中引入 spring-cloud-starter-netflix-eureka-client 依赖;
      在这里插入图片描述

    • 编写 provider-service 的配置文件;
      在这里插入图片描述

    • 给 RestTemplate 添加 @LoadBalanced 注解;
      在这里插入图片描述
      到此为止,整体的搭建及服务的注册和发现就完成了,可以根据自己的项目需求进行测试了。

  • 相关阅读:
    【STM32】STM32学习笔记-WDG看门狗(46)
    c# 用非递归的写法实现递归
    关于博客园绝境求商的一点点感想!
    项目计划不要拖,要赶紧排
    ubuntu x86_64 源码编译 rust 1.48.0
    黑马mysql教程笔记(mysql8教程)基础篇——数据库相关概念、mysql安装及卸载、数据模型、SQL通用语法及分类(DDL、DML、DQL、DCL)
    DELETE和TRUNCATE的区别
    来自北大算法课的Leetcode题解:189. 轮转数组
    neo4j入门并使用案例说明
    已知起始点坐标、目的地方位角,计算沿着测地线飞行一定距离到达的目的地坐标
  • 原文地址:https://blog.csdn.net/Onion_521257/article/details/127951504