eureka服务发现

Spring Boot----整合SpringCloud

假如想象 提交于 2019-11-28 07:28:39
1、创建Eureka(服务注册中心) 1.1 application.properties server.port=8761 #eureka实例主机名 eureka.instance.hostname=eureka #不把自己注册到eureka上 eureka.client.register-with-eureka=false #不从eureka上获取注册信息 eureka.client.fetch-registry=false #key:defaultZone,value:http://localhost:8761/eureka eureka.client.service-url.defaultZone=http://localhost:8761/eureka 1.2 @EnableEurekaServer 启动 @EnableEurekaServer @SpringBootApplication public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); } } 1.3 访问: http://localhost:8081/ 2、创建服务提供者 1、application

Eureka概念、原理、心跳机制

会有一股神秘感。 提交于 2019-11-28 07:13:56
Eureka是什么? Eureka是Netflix开发的 服务发现框架 ,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。 Eureka包含两个组件:Eureka Server和Eureka Client。 Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的 服务注册表 中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。 Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。 (注:什么是AWS域??? https://aws.amazon.com/cn/about-aws/ 什么是基于REST服务??? https://baike.baidu.com/item/rest/6330506?fr=aladdin ) Eureka原理 (注:Eureka Server之间通过复制的方式完成数据的同步) 上图是来自eureka的官方架构图,这是基于集群配置的eureka:

eureka搭建踩过的坑

人走茶凉 提交于 2019-11-28 04:21:38
1、配置eureka服务端和客户端遇到的坑,服务端需要指定eureka.client.serviceUrl.defaultZone=指定的服务端,否则他会连接默认的http://localhost:8761/eureka,因为eureka服务端默认指定了一个地址,查看org.springframework.cloud.netflix.eureka.EurekaClientConfigBean的源码可知。 服务端使用:spring-cloud-starter-netflix-eureka-server,网上很多地方使用spring-cloud-starter-eureka-server,maven官网提示该jary已经被废弃了 客户端使用:pring-cloud-starter-netflix-eureka-client,和服务端一样,网上很多地方说的pring-cloud-starter-eureka-client也被废弃了。 2、eureka采用的是高可用的原理,如果一个服务注册进了eureka server服务端上,哪怕是这个服务down了,eureka server在短期内,还是认为你这个服务是可用的,所以在接入服务的时候,有可能会存在,你服务已经down了,但是在eureka服务端却还看到了哪个服务。 3、注册中心集群,服务和服务之间要相互注册

【转】Eureka集群

半腔热情 提交于 2019-11-28 04:02:24
Eureka作为SpringCloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置。单一的eureka服务,显然不能满足高可用的实际生产环境,这就要求我们配置一个能够应对各种突发情况,具有较强容灾能力的eureka集群服务。 首先,参考eureka服务端7001的模块,分别创建eureka7002和eureka7003模块,另外还要做如下修改。还记得我们在7001中配置的eureka.instance.hostname为localhost,那么现在在集群的环境中,如果还是这样的话,就没法区分三个服务端,所以我们需要在hosts文件中添加映射,以及在对应模块中修改服务名。 127.0.0.1 eureka7001.com 127.0.0.1 eureka7002.com 127.0.0.1 eureka7003.com eureka7001模块的application.yml server: port: 7001 eureka: instance: hostname: eureka7001.com #eureka服务端的名称 client: register-with-eureka: false #不在注册中心注册自己 fetch-registry: false #表示自己就是注册中心,不需要检索服务,只需要维护服务实例 service-url: defaultZone:

Eureka的学习,及与Zookeeper的区别

假如想象 提交于 2019-11-28 01:58:45
SpringCloud02 demo–>Dept (1) 实体类—> springCloud-api (2) 提供者—> springcloud-provider–> Mapper Service Controller (3) 消费者—> springCloud-consumer–> Controller (不应该有Service层) ​ RestTemplate(模板) 供我们直接使用!提供多种便捷访问远程Http服务的方法,是一种简单的Restful服务模板 ​ 要注册到Spring中!(@Configuration 想要什么返回什么 方法@Bean) ​ Controller 中直接使用 RestTemplate (@Autowired) ​ 消费者写一个请求(@RequestMapping) ​ 通过restemplat.get/postForobject(“url”, (传的对象/实体) ,返回值.class) Eureka服务注册与发现 2.1 什么是Eureka 遵循的是AP原则 Eureka是Netflix的一个子模块,也是核心模块之一,是一个基于REST的服务,功能类似于Dubbo的注册中心,Zookeeper 2.2 Eureka原理 采用C-S的架构设计,Eureka Server作为服务注册功能的服务器,是服务注册中心 系统中的其他微服务,使用

Spring Cloud的简单介绍

这一生的挚爱 提交于 2019-11-28 01:23:18
参考地址: https://mp.weixin.qq.com/s/wG4CTLORnvemkjUsZ7YP6Q 从一个例子开始 对于这样的“大”问题,通常需要拆解成小问题来回答。要说明 Spring Cloud 做了什么,就要说清楚它包含的组件都做了些什么? 如果一个个把组件罗列出来,似乎太过独立,没有关联性,缺少逻辑感。我们就从一个简单的例子开始,把这些组件像串珍珠一样串起来。 假设有一个项目,这个项目有两个服务,分别是“A”和“B”: “A”和“B”的关系是,“A”调用“B”。 然后,有一个客户端“C”调用“A”。 客户端“C”调用服务“A”,服务“A”调用服务“B” 1. Eureka 服务之间互相认识 在服务端我们已经有了两个服务,“A”和“B”。他们的关系是“A”调用“B”,“B”被“A”调用。 当只有两个服务的时候我们是知道这种关系,并且可以把这种关系记录下来的,但是如果服务一多,我们如何记录这种关系呢? 于是,Eureka 就登场了,它负责“服务注册,服务发现”的工作。Eureka 分成 Eureka Server 和 Eureka Client。 每个微服务架构都会有一个或者多个 Eureka Server 用来保存注册服务的信息。 每个服务都会包含一个Eureka Client,其中会配置Eureka Server的信息,这样当服务启动的时候就能够把自己注册到

eureka和zookeeper注册中心的区别

陌路散爱 提交于 2019-11-28 00:54:31
ookeeper与Eureka区别 CPA理论:一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。在此Zookeeper保证的是CP, 而Eureka则是AP。 Consistency(一致性), 数据一致更新,所有数据变动都是同步的 Availability(可用性), 好的响应性能 Partition tolerance(分区容忍性) 可靠性 1、“C”是指一致性,即当一个Process(过程)修改了某个数据后,其他Process读取这是数据是,得到的是更新后的数据,但并不是所有系统都 可以做到这一点。例如,在一些并非严格要求一致性的系统中,后来的Process得到的数据可能还是修改之前的数据,或者需要等待一定时间后才能得到修改 之后的数据,这被成为“弱一致性”,最经典的应用就是DNS系统。当用户修改了DNS配置后,往往不会马上在全网更新,必定会有一个延迟,这个延迟被称为 “不一致窗口”,它的长度取决于系统的负载、冗余的个数等因素。但对于某些系统而言,一旦写入,后面读取的一定是修改后的数据,如银行账户信息,这被称为 “强一致性”。 2、“A”是指可用性。即系统总是能够为用户提供连续的服务能力。当用户发出请求是,系统能给出响应(成功或者失败),而且是立即给出响应

SpringCloud服务的注册发现--------Eureka自我保护机制

有些话、适合烂在心里 提交于 2019-11-28 00:37:20
1,Eureka 自我保护机制 Eureka注册中心,一些服务会注册到Eureka 服务器上,例如之前的member服务,order服务。 在网络不通的情况下,如果一个bmember 挂了,但是Eureka注册中心并不会立即将这个服务剔除,还在注册中心上显示出来。会被认为这个服务还可用。 因此需要Eureka客户端(注册到Eureka上的服务)定时的向Eureka服务端发送心跳包,Eureka服务端没有收到心跳包,会将服务剔除。 但是,如果短时间内,但是在短时间内丢失大量的实例心跳,这时候EurekaServer会开启自我保护机制,Eureka不会踢出该服务。 2,但是我们在开发测试阶段,需要频繁地重启发布,如果触发了保护机制,则旧的服务实例没有被删除,这时请求有可能跑到旧的实例中,而该实例已经关闭了,这就导致请求错误,影响开发测试。所以,在开发测试阶段,我们可以把自我保护模式关闭,只需在eureka server配置文件中加上如下配置即可: 但在生产环境,不会频繁重启,所以,一定要把自我保护机制打开,否则网络一旦中断,就无法恢复。 3,配置 Eureka 服务器端:即Eureka配置中心的配置 红色部分代表关闭保护机制 ###服务端口号 server: port: 8100 ###eureka 基本信息配置 spring: application: name: eureka

SpringCloud服务的注册发现--------Eureka实现高可用

依然范特西╮ 提交于 2019-11-28 00:20:32
1,Eureka作为注册中心,掌管者服务治理的功能,十分重要,如果注册中心的服务一旦宕机,所有的服务就会挂了,为此,实现注册中心的集群(高可用)就显得十分必要了 2,Eureka 搭建集群 实现原理就是注册中心的相互注册,实现集群。 例子: 有两个Eureka服务,分别为eureka和eureka_backup eureka的配置文件:8200端口是eureka_backup的端口,将8100的eureka服务注册到eureka_backup注册中心上 ###服务端口号 server: port: 8100 ###eureka 基本信息配置 spring: application: name: eureka-server eureka: instance: ###注册到eurekaip地址 hostname: 127.0.0.1 client: serviceUrl: defaultZone: http://127.0.0.1:8200/eureka/ ###因为是集群,注册中心也需要注册到其他的注册中心 register-with-eureka: true fetch-registry: true eureka_backup的配置文件:8100端口是eureka_backup的端口,将8200的eureka服务注册到eureka注册中心上 ###服务端口号 server:

eureka服务注册与发现

微笑、不失礼 提交于 2019-11-28 00:06:52
基本完全掌握了springboot后,学习微服务架构: 以下是引用一个Eureka的介绍及配置,原文地址: https://www.jianshu.com/p/c18d140ad9f6 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。 1.eureka简介 Eureka包含两个组件:Eureka Server和Eureka Client。 调用关系说明: 1.服务提供者在启动时,向注册中心注册自己提供的服务。 2.服务消费者在启动时,向注册中心订阅自己所需的服务。 3.注册中心返回服务提供者地址给消费者。 4.服务消费者从提供者地址中调用消费者。 注意! 下面的服务端指:注册中心,客户端指:服务提供者和消费者 Eureka Server :提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,包括主机与端口号、服务版本号、通讯协议等。这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。 Eureka服务端支持集群模式部署,首尾相连形成一个闭环即可