我是靠谱客的博主 傲娇蜡烛,最近开发中收集的这篇文章主要介绍SpringCloud系列(一)Eureka 注册中心❤ Eureka 的作用及角色❤ ❤搭建 EurekaServer,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

Eureka

  • ❤ Eureka 的作用及角色
  • ❤ ❤搭建 EurekaServer

❤ 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 依赖;

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

第二步: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 注解;
    在这里插入图片描述
    到此为止,整体的搭建及服务的注册和发现就完成了,可以根据自己的项目需求进行测试了。

最后

以上就是傲娇蜡烛为你收集整理的SpringCloud系列(一)Eureka 注册中心❤ Eureka 的作用及角色❤ ❤搭建 EurekaServer的全部内容,希望文章能够帮你解决SpringCloud系列(一)Eureka 注册中心❤ Eureka 的作用及角色❤ ❤搭建 EurekaServer所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部