Eureka服务注册与发现

注册中心的建立

1、增加pom文件;

2、修改yml配置文件;

3、添加@EnableEurekaServer注解;

4、启动进入服务注册页面。

微服务注册到注册中心

1、添加yml配置,寻找注册中心地址

2、添加@EnableEurekaClient注解在启动类;

3、启动服务注册页面,新增了一个注册的微服务。

配置修改:

<wiz_code_mirror>

Eureka: 
    instance: 
        instance-id: microservicecloud-8081 //主机映射名称的修改
        prefer-id-address: true //访问路径可以显示ip
//info内容构建,替换error页面,添加maven的build标签配置后,增加以下配置。
info: 
    app.name: microservice
    company.name: sun
    build.artifact.id: $project.artifactId$
    build.version: $project.version$
自我保护机制:

好死不如赖活着:宁可保留错误的服务注册信息,也不盲目注销健康的服务实例。

当心跳数重新恢复到阀值以上时,该节点自动退出自我保护机制。

<wiz_code_mirror>

eureka: 
    server: 
        enable-self-preservation: false//禁用自我保护机制,一般不使用
服务发现:

1、在启动类上新增注解@EnableDiscoveryClient

2、注入并访问发现的服务

<wiz_code_mirror>

@AutoWired
private DiscoveryClient client;
@GetMapping(value = "/dept/discovery")
public Object discovery(){
    List<String> list = client.getServices();
    List<ServiceInstance> srvList = client.getInstances("MICROSERVICE");
}
Eureka集群:

1、新增2个Eureka模块,修改hosts配置文件;

2、修改yml配置文件

<wiz_code_mirror>

eureka: 
    client: 
        service-url: 
            #defaultZone: http://localhost:7001/eureka //单机版
            #defaultZone:http://eureka7002.com:7002/eureka/,http://eureka7002.com:7002/eureka/ #集群版

3、访问任意注册中心,在Ds Replicas 下新增了另外两个集群节点。

Eureka和ZooKeeper比较:

关系型数据库:事务实现了ACID理论;

非关系型数据库:分布式集群系统只能保证CAP原则的两项。

1、CP原则:Zookeeper实现,一台宕机后,会再次寻找leader,这个时间段无法达到A原则;

2、CA原则:Eureka实现,平等集群,一台宕机后,立即转发到另一台上。

自我保护机制保证高可用,在没心跳的情况下不会停止过期服务。

一般配合BASE原则使用,保证最终的一致性即可。

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false">

原文地址:https://www.cnblogs.com/shuchen007/p/10294036.html

时间: 2024-10-07 15:53:17

Eureka服务注册与发现的相关文章

SpringCloud(3)---Eureka服务注册与发现

Eureka服务注册与发现 一.Eureka概述 1.Eureka特点 (1) Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移. (2) Eureka 主管服务注册与发现,在微服务中,以后了这两者,只需要使用服务的标识符(==就是那个在每个服务的yml文件中取得服务名称==), 就可以访问到服务,不需要修改服务调用的配置文件. (3) Eureka遵循AP原则(高可用,分区容错性),因为使用了自我保护机制所以保证了高可用. 2.Eureka两大组件 两大组

Spring Cloud 入门教程 - Eureka服务注册与发现

简介 在微服务中,服务注册与发现对管理各个微服务子系统起着关键作用.随着系统水平扩展的越来越多,系统拆分为微服务的数量也会相应增加,那么管理和获取这些微服务的URL就会变得十分棘手,如果我们每新加一个微服务,就要在其它用到此微服务的地方手动加上它的URL地址或者其他通信协议的地址,这样会经常出错,而且工作量巨大,一旦某个微服务的地址发生了变化,就要手动修改所有引用它的微服务的配置文件.所以spring-cloud eureka server就是为了解决这样的问题而出现,经过简单的配置,即可自动注

SpringCloud学习--Eureka 服务注册与发现

目录 一:构建项目 二:服务注册与发现 为什么选择Eureka,请看上一篇博客 Eureka -- 浅谈Eureka 项目构建 IDEA 选择 New Project 选择 Spring Initializr 填入Group组.Artifice项目名,勾选Type为 Gradle Config(这里是基于gradle实现的) 选择组件:根据自己需要进行选择,这里需要Eureka来做为注册中心,所以我先勾线了Eureka的两个服务依赖 创建完成后 在 bulid.gradle中 使用subproj

SpringCloud:Eureka服务注册与发现

1.Eureka简介 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper). Eureka 采用了 C-S 的设计架构.Eureka Server 作为服务注册功能的服务器,它是服务注册中心. 而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server并维持心跳连接. 这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行. SpringCloud 的一些其

【四】Eureka服务注册与发现

1.是什么 Eureka是Netflix的一个子模块,也是核心模块之一.Eureka是一个基于 REST 服务,用于定位服劳,以实现云端中间层服务发现和故障转移.服务注册与发现对于微服务架构来说是非常重要的,有了服务发现与注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了.功能类似于dubbo的注册中心,比如 Zookeeper. Netflix在设计Eureka是遵循的就是AP原则 分布式系统的CAP理论:理论首先把分布式系统中的三个特性进行了如下归纳: ● 一致

Eureka 服务注册与发现

1.简介EureKa在Spring Cloud全家桶中担任着服务的注册与发现的落地实现.Netflix在设计EureKa时遵循着AP原则,它基于R EST的服务,用于定位服务,以实现云端中间层服务发现和故障转移,功能类似于Dubbo的注册中心Zookeeper. 2.实现原理 EureKa采用C-S的设计架构,即包括了Eureka Server(服务端),EureKa client(客户端). 1.EureKa Server 提供服务注册,各个节点启动后,在EureKa server中进行注册:

SpringCloud学习系列-Eureka服务注册与发现(2)

构建 microservicecloud-eureka-7001 eureka服务注册中心Module 1.新建microservicecloud-eureka-7001 2.pom <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mav

SpringCloud(四)Eureka服务注册与发现

1 Eureka Server 提供服务注册和发现 2 Service Provider 服务提供方 将自身服务注册到Eureka,从而使服务消费方能够找到 3 Service Consumer 服务消费方 从Eureka获取注册服务列表,从而能够消费服务 介绍 我们的服务发现一般分为两种模式一种为客户端发现模式(我们主要讲这个),一种为服务端发现模式 服务实例的网络位置都是动态分配的,而且因为扩展,失效和升级等需求,服务实例会常常发生动态改变,因此客户端一种更加复杂的服务发现机制 当使用客户端

SpringCloud学习系列-Eureka服务注册与发现(3)

修改microservicecloud-provider-dept-8001 1.修改pom 增加内容 <!-- 将微服务provider侧注册进eureka --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <