(四)SpringCloud学习笔记之服务注册Eureka基础

服务注册Eureka基础

  • 1 微服务的注册中心
    • 1.1 注册中心的主要作用
    • 1.2 常见的注册中心
  • 2 Eureka的概述
    • 2.1 Eureka的基础知识
    • 2.2 Eureka的交互流程与原理
  • 3 搭建Eureka注册中心
    • 3.1 搭建Eureka服务中心
    • 3.2 服务注册中心管理后台
  • 4 服务注册到Eureka注册中心
    • 4.1 商品服务注册
    • 4.2 订单服务注册
  • 5 Eureka中的自我保护
  • 6 Eureka中的元数据

1 微服务的注册中心

注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。
(四)SpringCloud学习笔记之服务注册Eureka基础_第1张图片

1.1 注册中心的主要作用

服务注册中心(下称注册中心)是微服务架构非常重要的一个组件,在微服务架构里主要起到了协调者的一个作用。注册中心一般包含如下几个功能:
1. 服务发现:

  • 服务注册/反注册:保存服务提供者和服务调用者的信息
  • 服务订阅/取消订阅:服务调用者订阅服务提供者的信息,最好有实时推送的功能
  • 服务路由(可选):具有筛选整合服务提供者的能力。

2. 服务配置:

  • 配置订阅:服务提供者和服务调用者订阅微服务相关的配置
  • 配置下发:主动将配置推送给服务提供者和服务调用者

3. 服务健康检测

  • 检测服务提供者的健康情况

1.2 常见的注册中心

Zookeeper
zookeeper它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简单来说zookeeper=文件系统+监听通知机制。

Eureka
Eureka是在Java语言上,基于Restful Api开发的服务注册与发现组件,Springcloud Netflix中的重要组件。

Consul
Consul是由HashiCorp基于Go语言开发的支持多数据中心分布式高可用的服务发布和注册服务软件,采用Raft算法保证服务的一致性,且支持健康检查。

Nacos
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。简单来说 Nacos 就是注册中心 + 配置中心的组合,提供简单易用的特性集,帮助我们解决微服务开发必会涉及到的服务注册与发现,服务配置,服务管理等问题。Nacos 还是 Spring Cloud Alibaba 组件之一,负责服务注册与发现。

最后我们通过一张表格大致了解Eureka、Consul、Zookeeper的异同点。选择什么类型的服务注册与发现组件可以根据自身项目要求决定。
(四)SpringCloud学习笔记之服务注册Eureka基础_第2张图片

2 Eureka的概述

2.1 Eureka的基础知识

Eureka是Netflix开发的服务发现框架,SpringCloud将它集成在自己的子项目spring-cloud-netflix中,实现SpringCloud的服务发现功能。
(四)SpringCloud学习笔记之服务注册Eureka基础_第3张图片
上图简要描述了Eureka的基本架构,由
3个角色组成:
1、Eureka Server

  • 提供服务注册和发现

2、Service Provider

  • 服务提供方
  • 将自身服务注册到Eureka,从而使服务消费方能够找到

3、Service Consumer

  • 服务消费方
  • 从Eureka获取注册服务列表,从而能够消费服务

2.2 Eureka的交互流程与原理

(四)SpringCloud学习笔记之服务注册Eureka基础_第4张图片
图是来自Eureka官方的架构图,大致描述了Eureka集群的工作过程。图中包含的组件非常多,可能比
较难以理解,我们用通俗易懂的语言解释一下:

  • Application Service 相当于本书中的服务提供者,Application Client相当于服务消费者;
  • Make Remote Call,可以简单理解为调用RESTful API;
  • us-east-1c、us-east-1d等都是zone,它们都属于us-east-1这个region࿱

你可能感兴趣的:(微服务,分布式,SpringCloud)