首页 > 其他分享 >SpringCloud学习 系列四、微服务中心 Eureka介绍及创建一个Eureka中心服务

SpringCloud学习 系列四、微服务中心 Eureka介绍及创建一个Eureka中心服务

时间:2022-09-29 18:55:06浏览次数:51  
标签:可用性 服务 SpringCloud CAP Eureka 分布式系统 服务中心

不得不先介绍一个概念

1、CAP  定理

(1) 概念

CAP 定理指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、

Partition tolerance(分区容错性),三者不可兼得。

 一致性(C):分布式系统中多个主机之间是否能够保持数据一致的特性。即,当系统数

据发生更新操作后,各个主机中的数据仍然处于一致的状态。

   可用性(A):系统提供的服务必须一直处于可用的状态,即对于用户的每一个请求,系

统总是可以在有限的时间内对用户做出响应。

  分区容错性(P):分布式系统在遇到任何网络分区故障时,仍能够保证对外提供满足一

致性和可用性的服务。

(2) 定理

CAP 定理的内容是:对于分布式系统,网络环境相对是不可控的,出现网络分区是不可避免的,因此系统必须具备分区容错性。但系统不能同时保证一致性与可用性。即要么 CP,要么 AP。

2、Eureka简介

Eureka 是 Netflix 开发的服务发现框架,本身是一个基于 REST 的服务,主要用于定位运行在 AWS(Amazon Web Services,亚马逊网络服务,亚马逊云)域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,实现 SpringCloud 的服务发现功能。其实,Eureka 就是一个专门用于服务发现的服务器,一些服务注册到该服务器,而另一些服务通过该服务器查找其所要调用执行的服务。可以充当服务发现服务器的组件很多,例如 Zookeeper、Consul、Eureka 等。

3、Eureka  体系架构

 

官方的图比较全面但是有点复杂为了适合初学者我这边提供一个简单的示意图

 

 

 说明:上图中为了读者便于理解简化了一些步骤,完整的步骤以官方为准。

4、Eureka与Zookeeper对比

Eureka 与 Zookeeper 都可以充当服务中心,那么它们有什么区别呢?它们的区别主要体

现在对于 CAP 原则的支持的不同。

Eureka:AP

zk:CP

5、创建一个Eureka的工程

(1)创建一个00-eurekaserver-8000的模块

该模块就是Eureka的服务。(该模块非常重要,后面好多工程都要在该基础上进行修改,一定要保证该工程的正确性)

 

 

 

上图先选择这个(可以随便选),后面修改pom.xml文件即可。

 

(2)工程中需要注意的点:

1、选择srpingboot和springCloud匹配的版本

咱们使用的是如下两个版本

<spring-boot.version>2.1.6.RELEASE</spring-boot.version>
<spring-cloud.version>Greenwich.SR6</spring-cloud.version>

2、添加 Eureka Client 依赖

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

3、修改配置文件

 

 

 

4、启动类增加注解

 

 

 

5、启动工程验证是否正确

浏览器输入http://localhost:8000/如果能见到下图说明工程创建成功。

 

 

标签:可用性,服务,SpringCloud,CAP,Eureka,分布式系统,服务中心
From: https://www.cnblogs.com/yclh/p/16742636.html

相关文章

  • SpringCloudAlibaba整合Dubbo集群形式
    在文件bootstrap-cqa.propertiesspring.cloud.nacos.config.server-addr=172.16.99.96:8848,172.16.99.97:8848,172.16.99.98:8848spring.cloud.nacos.discovery.server-ad......
  • eureka和nacos的对比
    回到SpringCloud##三、eureka和nacos的对比nacos的临时实例采用心跳检测和eureka一样nacos的非临时实例不做心跳检测,由nacos主动发请求询问。临时实例挂了会......
  • SpringCloudAlibaba之Sentinel实现流量实时监控
    1、什么是Sentinel? 2.Sentinel基本概念 资源,规则 3.Sentinel功能和设计理念 流量控制 流量控制有以下几个角度: 资源的调用关......
  • SpringCloudAlibaba之Nacos服务注册中心
    1、什么是Nacos? Nacos就是注册中心+配置中心的组合 Nacos=Eureka(替代Eureka做服务注册中心)+Config(替代Config做服务配置中心)2、去哪里学习Nacos? 官网:ht......
  • SpringCloud重试retry 20220927
    SpringCloud重试retry是一个很赞的功能,能够有效的处理单点故障的问题。主要功能是当请求一个服务的某个实例时,譬如你的User服务启动了2个,它们都在eureka里注册了,那么正常情......
  • [spring cloud] @EnabledEurekaClient 与 @EnabledDiscoveryClient的区别
    https://blog.51cto.com/u_15437298/4694156相同点都是将自身作为服务向注册中心注册不同点@EnabledEurekaClient只能向eureka注册@EnabledDiscoveryClient通用......
  • SpringCloud微服务架构(二)
    nacos配置管理1.在nacos中添加配置信息2.在弹出表单中填写配置信息3.配置获取的步骤如下4.配置的步骤如下:1)引入Nacos的配置管理客户端依赖<!--nacos配置管理依......
  • SpringCloud/Alibaba学习+Nacos/Sentinel源码(五万字长文)
    SpringCloud学习笔记未经授权不得转载,创作不易,违者必究一、微服务架构1.1应用架构发展集中式架构网站流量很小,一个应用将所有功能部署优点:系统开发速度快;维护成本......
  • springcloud--负载均衡(ribbon)
    springcloud--负载均衡(ribbon)一、项目背景搭建好的springcloud项目,包含erueka模块(这里是单个,也可以多个)、服务提供者(多个)、消费者。创建多个服务提供者模块,用于集群(单......
  • SpringCloud config分布式配置
    分布式的问题,配置文件的管理简单来说就是,我们每一个微服务自己带着一个application.yml,那上百的的配置文件要修改起来,岂不是要疯了。所以将一些经常要改的文件发布到git......