mysql也能注册到eureka_服务注册Eureka基础

本文介绍了Eureka作为微服务注册中心的作用,包括服务发现、服务配置、服务健康检查等功能。讲解了Eureka的基本架构,如Eureka Server、服务提供者和服务消费者的角色。并详细阐述了Eureka的交互流程,包括心跳检测、健康检查和客户端缓存等机制。最后,文章提供了搭建Eureka Server的步骤,以及服务如何注册到Eureka Server上。
摘要由CSDN通过智能技术生成

1 微服务的注册中心

1.1 概述

注册中心可以说是微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其他服务的时候,就从这里找到服务的地址,进行调用。

e14908c47fd0fd029e3443ed74e5355a.png

1.2 注册中心的主要作用

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

1️⃣服务发现:

服务注册/反注册:保存服务提供者和服务调用者的信息。

服务订阅/取消订阅:服务调用者订阅服务提供者的信息,最好有实时推送的功能。

服务路由(可选):具有筛选整合服务提供者的能力。

2️⃣服务配置:

配置订阅:服务提供者和服务调用者订阅服务相关的配置。

配置下发:主动将配置推送给服务提供者和服务调用者。

3️⃣服务健康检测:

检测服务提供者的健康状况。

1.3 常见的注册中心

1.3.1 zookeeper

zookeeper是一个分布式服务框架,是Apache Hadoop的一个子项目,它主要是用来解决分布式应用经常遇到的一些数据管理问题,如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等等。

简单的说,zookeeper=文件系统+监听通知机制。

1.3.2 Eureka

Eureka是在Java语言上,基于RESTful API开发的服务注册和发现组件,SpringCloud Netflix中的重要组件。

1.3.3 Consul

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

1.3.4 Nacos

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

1.3.5 总结

组件名

语言

CAP

一致性算法

服务健康检查

对外暴露接口

Eureka

Java

AP

可以配置支持

HTTP

Consul

Go

CP

Raft

支持

HTTP/DNS

Zookeeper

Java

CP

Paxos

支持

客户端

Nacos

Java

AP

Raft

支持

HTTP

2 Eureka的概述

2.1 Eureka的基础知识

Eureka是Netflix开发的服务发现框架,SpringCloud将它集成到自己的子项目spring-cloud-netflix中,实现SpringCloud的服务发现功能。

8215b3fec3029d870d7fc88c26c6624f.png

上图简要描述了Eureka的基本架构,由3个角色组成:

1️⃣Eureka Server:提供服务注册和发现。

2️⃣Service Provider:服务提供方(将自身服务注册到Eureka,从而使得服务消费方能够找到)。

3️⃣Service Consumer:服务消费方(从Eureka获取注册服务列表,从而能够消费服务)。

2.2 Eureka的交互流程和原理

818acc92285195961d6635b46d47df81.png

由上图可知,Eureka包含两个组件:Eureka Server和Eureka Client,它们的作用如下:

1️⃣Eureka Client是一个Java客户端,用于简化和Eureka Server的交互。

2️⃣Eureka Server提供服务发现能力,各个微服务启动时,会通过Eureka Client向Eureka Server进行注册自己的信息(例如网络信息),Eureka Server会存储该服务的信息。

3️⃣微服务启动后,会周期性的向Eureka Server发送心跳(默认周期为30秒)以续约自己的信息。如果Eureka Server在一定时间内(默认为90秒)没有接收到某个微服务节点的心跳,Eureka Server将会注销该微服务节点。

4️⃣每个Eureka Server同时也是Eureka Client,多个Eureka Server之间通过复制的方式完成服务注册表的同步。

5️⃣Eureka Client会缓存Eureka Server中的信息。即使所有的Eureka Server节点都宕机,服务消费者依然可以使用缓存中的信息找到服务提供者。

综上,Eureka通过心跳检测、健康检查和客户端缓存等机制,提高了系统的灵活性、可伸缩性和可用性。

3 Eureka的使用步骤

1️⃣搭建Eureka Server。

创建工程(eureka_server)。

导入Eureka对应的坐标。

配置application.yml。

配置启动类。

2️⃣将服务提供者注册到Eureka Server上。

3️⃣服务消费者通过注册中心获取服务列表,并调用。

4 搭建Eureka Server(注册中心)

4.1 搭建Eureka Server(注册中心)

4.1.1 在pom.xml中导入相关jar包的坐标

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

spring_cloud_demo

org.sunxiaping

1.0

4.0.0

eureka_service

org.springframework.cloud

spring-cloud-starter-netflix-eureka-server

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值