eureka服务发现

Spring Cloud微服务架构——Eureka注册中心

孤街醉人 提交于 2020-01-06 22:09:25
Spring Cloud简介 Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务注册发现、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键部署和启动。Spring Cloud并没有重复造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,总重给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。(摘录来源: Spring Cloud 百度百科 ) Eureka服务注册中心 在简单介绍Spring Cloud之后,我们先引入Eureka注册中心的概念,顾名思义,Eureka是一个注册服务的地方,但是怎么注册服务?注册以后给谁使用?如何使用Eureka中的服务?具体情况我们通过现实生活中一个的场景来理解。 假如今天是周六,我要跟女神一起去逛商场,我们都知道商场外面会有很多广告牌或者指引牌告诉大家商场有哪些入驻的商家或服务,比如一楼有肯德基,二楼海底捞,三楼优衣库等等。我们都知道,这些商家入驻商场肯定得交租金,交完租金才能入驻。在这里,我们可以把商场看成是Eureka注册中心,把商家看成是服务提供者,商家向商场交了租金,就入驻到了商场,这里就有一种注册的概念

springcloud服务已经关闭但是Eureka显示服务状态一直为UP

给你一囗甜甜゛ 提交于 2020-01-06 14:46:38
问题: 最近遇到一个很奇怪的问题,就是使用springcloud的时候,服务明明已经停止,但是在eureka中一直显示此服务状态为UP,这样就导致了请求再次过来的时候被分发到已经停止的服务上,其实这是不合理的,后来发现是配置文件的原因,稍加调整就好了。 解决办法: eureka服务端: eviction-interval-timer-in-ms: 3000 eureka server清理无效节点的时间间隔,默认60000毫秒,即60秒 enable-self-preservation: true 是否开启自我保护模式,默认为true eureka客户端: healthcheck.enable: true 开启健康检查 lease-renewal-interval-in-seconds: 3 eureka client发送心跳给server端的频率。如果在leaseExpirationDurationInSeconds后,server端没有收到client的心跳,则将摘除该instance lease-expiration-duration-in-seconds: 6 eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance 配置完成后就可以了。 来源: https://www.cnblogs

Spring Cloud学习笔记【二】Eureka服务注册与发现

妖精的绣舞 提交于 2020-01-04 01:00:09
Spring Cloud学习笔记【二】Eureka服务注册与发现 一、Eureka简介 Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件的一部分,基于 Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能,服务治理可以说是微服务架构中最为核心和基础的模块,他主要用来实现各个微服务实例的自动化注册与发现。功能类似于dubbo的注册中心,比如 Zookeeper。 服务注册:在服务治理框架中,通常都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机与端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按照服务名分类组织服务清单,服务注册中心还需要以心跳的方式去监控清单中的服务是否可用,若不可用需要从服务清单中剔除,达到排除故障服务的效果。 服务发现:由于在服务治理框架下运行,服务间的调用不再通过指定具体的实例地址来实现,而是通过向服务名发起请求调用实现。 Spring Cloud Eureka 使用 Netflix Eureka 来实现服务注册与发现,即包括了服务端组件,也包含了客户端组件,并且服务端和客户端均采用 Java 编写,所以 Eureka 主要适用与通过 Java 实现的分布式系统,或是与 JVM 兼容语言构建的系统,但是,由于 Eureka

Spring Cloud学习笔记【一】全家桶主要组件及简要介绍

*爱你&永不变心* 提交于 2020-01-02 18:31:19
Spring Cloud学习笔记【一】全家桶主要组件及简要介绍 SpringCloud ,进入官网地址,官网简单描述其全貌。 基于SpringBoot构建的SpringCloud是微服务架构的集大成者,将一系列优秀的组件进行了整合。 简单的一张图,进行组件的描述,如下: 1、Spring Cloud Eureka Eureka负责服务的注册和发现,如果学习过Zookeeper的话,就可以很好的理解,Eureka的角色和 Zookeeper的角色差不多,都是服务的注册和发现,构成Eureka体系的包括:服务注册中心、服务提供者、服务消费者。 1、两台Eureka服务注册中心构成的服务注册中心的主从复制集群; 2、然后服务提供者向注册中心进行注册、续约、下线服务等; 3、服务消费者向Eureka注册中心拉去服务列表并维护在本地; 4、然后服务消费者根据从Eureka服务注册中心获取的服务列表选取一个服务提供者进行消费服务。 2、Spring Cloud Ribbon Spring Cloud Eureka描述了服务如何进行注册,注册到哪里,服务消费者如何获取服务生产者的服务信息,但是Eureka只是维护了服务生产者、注册中心、服务消费者三者之间的关系,真正的服务消费者调用服务生产者提供的数据是通过Spring Cloud Ribbon来实现的。

SpringCloud-客户端的负载均衡Ribbon(三)

不打扰是莪最后的温柔 提交于 2020-01-01 02:19:34
前言:微服务架构,不可避免的存在单个微服务有多个实例,那么客户端如何将请求分摊到多个微服务的实例上呢?这里我们就需要使用负载均衡了 一、Ribbon简介   Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP客户端的行为。为Ribbon配置服务提供者地址列表后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供了很多的负载均衡算法,例如:轮询,随机等,也可自定义; Ribbon的GitHub: https://github.com/Netflix/ribbon   而在SpringCloud中使用Ribbon和Eureka时,Ribbon会自动从EurekaServer中获取服务提供者地址列表,并基于负载均衡算法。 二、Ribbon实战 ​1、创建EurekaServer,EurekaClient1,EurekaClient2,之前已经说过了 Eureka的使用 ,这里直接上代码: EurekaServer: @SpringBootApplication @EnableEurekaServer public class ServerApplication { public static void main(String[] args) { SpringApplication.run(ServerApplication

SpringCloud简单介绍

空扰寡人 提交于 2019-12-30 20:04:15
这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能。 大家好,我是IT修真院郑州分院一枚正直纯洁善良的java程序员 今天给大家分享一下,修真院官网java任务十,深度思考中的知识点: SpringCloud简单介绍 背景介绍 Spring Cloud是基于Spring Boot的一整套实现微服务的框架。它提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。 知识剖析 Eureka,服务注册和发现,它提供了一个服务注册中心、服务发现的客户端,还有一个方便的查看所有注册的服务的界面。 所有的服务使用Eureka的服务发现客户端来将自己注册到Eureka的服务器上。 Eureka Client分为服务提供者和服务消费者。服务可以既是服务提供者又是服务消费者。 服务提供者 服务注册:启动的时候会通过发送REST请求的方式将自己注册到Eureka Server上,同时带上了自身服务的一些元数据信息。 **服务续约:**在注册完服务之后,服务提供者会维护一个心跳用来持续告诉Eureka Server: "我还活着 ” 、 服务下线:当服务实例进行正常的关闭操作时

SpringCloud Eureka认知(一)

自古美人都是妖i 提交于 2019-12-29 10:46:24
Eureka简介   Eureka是Nerflix公司开源的一款服务发现(或注册中心)组件,该组件提供的服务发现可以为负载均衡、failover等提供支持。   Eureka包括Eureka Server和Eureka Client。Eureka Server提供REST服务,Eureka Client则是使用Java编写的客户端,用于简化与Eureka Server的交互。 服务发现组件对比 名称 类型 AP或CP 语言 依赖 集成 一致性算法 Zookeeper General CP Java JVM Client Binding Paxos Doozer General CP GO Client Binding Paxos Consul General CP GO Raft Etcd General CP GO Raft SmarkStack Dedicated AP Ruby Zookerper Eureka Dedicated AP Java JVM Java Client CAP理论   分布式领域有个重要的CAP理论: Consistency:数据一致性,即数据存在多个副本的情况下,可能由于网络、机器故障、软件系统等问题导致数据写入部分副本成功,部分副本失败,进而造成副本之间的数据不一致,存在冲突。满足数据一致性要求对数据的更新操作成功后,多副本的数据报保持一致。

SpringCloud服务的注册发现--------Eureka

帅比萌擦擦* 提交于 2019-12-29 00:59:04
1,什么叫做服务的注册与发现 服务的注册与发现基于注册中心,注册中心本身是一个服务,也相当于一个载体,其他服务的注册需要注册到这个注册中心上。 注册:当服务器启动的时候,会将自己的服务器信息,通过别名的形式注册到之前已经启动的注册中心上面 发现:在注册中心上面注册的服务,由注册中心共同管理,以该别名的方式去注册中心上获取到实际的服务通讯地址,让后在实现本地rpc调用远程 2,搭建注册中心 eureka注册中心:maven依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent> <!-- 管理依赖 --> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.M7</version> <type>pom</type> <scope>import</scope> <

2.springcloud-服务之间的调用(RestTemplate)

纵饮孤独 提交于 2019-12-28 15:47:31
springcloud服务之间的调用有RestTemplate和Feign两种两种方式,这里我们介绍RestTemplate调用服务。 1.RestTemplate是什么 RestTemplate是spring Resources中一个访问三方RESTful API接口的网络请求框架。它的设计原则和其它Spring Template(比如JdbcTemPlate)类似,是为复杂任务提供了一个具有默认行为的简单方法。RestTemplate使用来消费REST服务的,所以它的主要方法都与REST的Http协议的一些方法紧密相连,具体的方法介绍可以自己看看RestTemplate的相关文档。 2.ribbon简介 首先说一下为啥要在这里介绍ribbon。因为RestTemplate调用服务,它就是一个简单的服务调用,没有特殊的处理。我们在springcloud中调用服务的时候都是用在Eureka注册中心注册的服务名来调用的,如果直接在RestTemplate中用Eureka中的服务名调用,它不会解析服务名对应的ip地址的,所以会报错的。 Ribbon是Netflix公司开源的一个负载均衡的组件,它是将负载均衡逻辑代码封装在客户端中,并且运行在客户端的进程里。Ribbon经过了云端测试的IPC库,可以很好的控制HTTP和TCP客户端的负载均衡行为。

Eureka学习

好久不见. 提交于 2019-12-28 06:22:37
一、SpringCloud介绍 1、SpringCloud简介 SpringCloud是基于SpringBoot的一整套实现微服务的框架。它提供了微服务开发所需的管理、服务发现、断路器、智能路由、微代理、控制总线、全局所、决策精选、分布式会话、集群状态管理等组件。 官方:https://spring.io/projects/spring-cloud 中文:https://www.springcloud.cc/ 2、Spring Cloud Netflix简介 该项目是Spring Cloud的核心子项目,是对Netflix公司一些列开源产品的封装。它为Spring Boot应用提供了自配置的整合,只需要通过简单的注解,就可以快速地在Spring Cloud的应用中使用起来。 主要提供的模块包括:服务发现注册(Eureka)、客户端负载均衡(Ribbon)、断路器(Hystrix)、智能路由(Zuul)、声明性REST客户端(Feign)、外部配置(Archaius)等。 二、Eureka简介 1、Eureka是什么 Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。 服务注册于发现对于微服务架构来说非常重要,有了服务发现与注册,只需要使用服务的标识符