Spring Cloud Consul

Consul替代Eureka

感情迁移 提交于 2021-02-17 21:19:01
原文:https://www.cnblogs.com/ityouknow/p/9340591.html 在上个月我们知道 Eureka 2.X 遇到困难停止开发了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件,Eureka 只是其中之一,下面是 Spring Cloud 支持的服务发现软件以及特性对比: Feature euerka Consul zookeeper etcd 服务健康检查 可配支持 服务状态,内存,硬盘等 (弱)长连接,keepalive 连接心跳 多数据中心 — 支持 — — kv 存储服务 — 支持 支持 支持 一致性 — raft paxos raft cap ap ca cp cp 使用接口(多语言能力) http(sidecar) 支持 http 和 dns 客户端 http/grpc watch 支持 支持 long polling/大部分增量 全量/支持long polling 支持 支持 long polling 自身监控 metrics metrics — metrics 安全 — acl /https acl https 支持(弱) spring cloud 集成 已支持 已支持 已支持 已支持 在以上服务发现的软件中,Euerka 和 Consul

容错机制和熔断(Hystrix)

做~自己de王妃 提交于 2021-01-23 00:53:34
雪崩效应 在微服务架构中,由于服务众多,通常会涉及多个服务层级的调用,而一旦基础服务发生故障,很可能会导致级联故障,进而造成整个系统不可用,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将这种不可用逐渐放大的过程。 比如在一个系统中, A作为服务提供者,B是A的服务消费者,C和D又是B的服务消费者。如果此时A发生故障,则会引起B的不可用,而B的不可用又将导致C和D的不可用,当这种不可用像滚雪球一样逐渐放大的时候,雪崩效应就形成了。 熔断器(CircuitBreaker) 熔断器的原理很简单,如同电力过载保护器。它可以实现快速失败,如果它在一段时间内侦测到许多类似的错误,就会强迫其以后的多个调用快速失败,不再访问远程服务器,从而防止应用程序不断地尝试执行可能会失败的操作,使得应用程序继续执行而不用等待修正错误,或者浪费CPU时间去等到长时间的超时产生。熔断器也可以使应用程序能够诊断错误是否已经修正,如果已经修正,应用程序会再次尝试调用操作。熔断器模式就像是那些容易导致错误的操作的一种代理。这种代理能够记录最近调用发生错误的次数,然后决定使用允许操作继续,或者立即返回错误。熔断器是保护服务高可用的最后一道防线。 Hystrix特性 1.断路器机制 断路器很好理解, 当Hystrix Command请求后端服务失败数量超过一定比例

真香!阿里、腾讯、百度、京东等多位架构师鼎力推荐SpringCloud笔记

老子叫甜甜 提交于 2020-12-05 15:14:19
前言 过去十几年里,广义的“微服务”架构以其小团队快速创建和迭代服务带来的架构弹性、扩展性、敏捷性,天然匹配了互联网业务快速发展和变化的特点,在各大互联网公司取得了巨大的成功。时至云原生应用时代,已不再是是否采用微服务架构的问题,而是何时采用以及如何在生产上实战的问题。 今天分享的这份学习资料:讲解将如何基于Spring Cloud生态体系进行微服务实战的方方面面的细节都涵盖了,从这个意义上来讲,确实做到了“重新定义”。 本书内容有3大特色: 足够广:详细讲解了Spring Cloud的核心常用组件以及Spring Cloud的增强生态,针对生产实践中常见问题给出可落地的&*佳实践方案,无论您是初学者还是开发人员,还是架构师,都能从此书获益。 有深度:本书对涉及的Spring Cloud组件按照从入门、进阶、实战、扩展增强的顺序循序渐进进行剖析和讲解,帮助作者知其然并知其所以然,授之以渔。 重实践:注重生产实践,通过案例驱动,给出优秀的生产实践方案和优秀的生产配置,帮助读者快速落地企业微服务架构。 本书大牛出版: 本书由Spring Cloud中国社区官方撰写,基于Spring Cloud的Finchley.RELEASE版本,基于Spring Cloud的Finchley.RELEASE版本,核心成员来自原阿里、蚂蚁金服、京东金融等互联网企业,经验丰富。 本书内容有3大特色

SpringCloudGateway+Consul集群部署笔记

浪尽此生 提交于 2020-10-28 13:50:39
spring cloud gateway已经使用了较长一段时间,一直有想法,整理整理一下,形成一个有效的记录,近期终于抽空写成笔记。 1、基本环境 版本:consul-1.7.2 服务:192.168.11.45(windows)、192.168.110.35(centos72)、192.168.110.36(centos72) 2、安装目录 centos7.2:/opt/consul-1.7.2 windows:D:/test/consul 3、集群架构 1.三个consul服务节点,组成集群提供注服务 2.两个producer生产者服务,提供业务服务响应 3.一个gateway网关服务,提供路由转发服务 4.消费者模拟请求发送到网关,再由网关路由到生产者服务的业务中; 4、Consul Consul是一个在分布式环境中的提供服务注册和发现流程的服务管理软件,分布式高可用,提供服务发现和配置共享,主要特点是:服务发现、健康检查、键值存储、安全服务通信、多数据中心。 在集群架构中,Consul保证了c(数据一致性)、a(高可用)特点,不保证p(分区容错)特点。在SpringCloud中已对 Consul 进行了自动配置与封装,并且官方建议替代 Eureka。 Consul 采用 raft 算法来保证数据的强一致性: a.服务注册到Consul时

Spring Cloud: 注册中心Consul使用

旧街凉风 提交于 2020-10-17 03:14:25
什么是Consul Consul是HashiCorp公司推出的开源工具,提供了分布式系统的服务注册和发现、配置等功能。与其他分布式服务注册与发现的方案相比,Consul的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案。这些功能每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格。 基本术语 代理(Agent):是一直运行在Consul集群中每个节点上的守护进程,通过运行consul agent命令来启动。代理可以以客户端或服务端模式运行。无论是客户端节点,还是服务端节点,都必须运行代理,因此将节点称为客户端或服务器更容易理解。所有代理都可以通过DNS或HTTP接口来检查服务,并保持服务同步。 客户端(Client):客户端是所有RPC转发到服务端的代理。这个客户端是相对无状态的。客户端唯一执行的后台活动是加入LAN gossip池,资源开销很小。 服务端(Server):服务端是具有扩展责任的代理,包括参与 Raft 选举、维护集群状态、响应RPC查询、与其他数据中心交换WAN,以及将查询转发给领导者(Leader)或远程数据中心。考虑到容错和收敛,一般部署 3 ~ 5 个比较合适。 数据中心(Data Center):是一个私有的、低延迟且高带宽的网络环境,由多个客户端和服务端构成。 共识

Spring Cloud 系列之 Consul 配置中心

最后都变了- 提交于 2020-08-11 08:50:41
前面我们已经学习过 Spring Cloud Config 了: Spring Cloud 系列之 Config 配置中心(一) Spring Cloud 系列之 Config 配置中心(二) Spring Cloud 系列之 Config 配置中心(三) 它提供了配置中心的功能,但是需要配合 git、svn 或外部存储(例如各种数据库),且需要配合 Spring Cloud Bus 《Spring Cloud 系列之 Bus 消息总线》 实现配置刷新。 前面的课程中我们也学习了 Spring Cloud Consul,当时讲解了它作为注册中心的使用方案,且作为 Spring Cloud 官方推荐替换 Eureka 注册中心的方案。既然使用了 Consul,就可以使用 Consul 提供的配置中心功能,并且不需要额外的 git 、svn、数据库等配合,且无需配合 Bus 即可实现配置刷新。 Spring Cloud 官方声明 Consul 可以作为 Spring Cloud Config 配置中心的替代方案。 官方文档:https://cloud.spring.io/spring-cloud-static/spring-cloud-consul/2.2.2.RELEASE/reference/html/#spring-cloud-consul-config 关于 Consul

SpringCloud 教程

亡梦爱人 提交于 2020-04-11 17:24:07
码农下载: https://git.oschina.net/forezp/SpringCloudLearning github下载: https://github.com/forezp/SpringCloudLearning ,记得star哦! Spring Cloud Alibaba教程 Spring Cloud Alibaba教程:使用Nacos作为服务注册发现组件 Spring Cloud Alibaba教程:使用Nacos作为配置中心 Spring Cloud Alibaba教程:Sentinel的使用 Greenwich版本 Spring Cloud Consul 之Greenwich版本全攻略 spring cloud config将配置存储在数据库中 Spring Cloud Sleuth 之Greenwich版本全攻略 Spring Boot Admin 2.1.0 全攻略 Finchley版本 Spring Cloud Finchley; Spring Boot 2.0.3 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)(Finchley版本) 史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)(Finchley版本) 史上最简单的SpringCloud教程 | 第三篇:

ZhaoWei-2020-02-04

不打扰是莪最后的温柔 提交于 2020-02-27 12:08:48
Spring Cloud Consul:服务治理与配置中心 摘要 Spring Cloud Consul 为 SpringBoot 应用提供了 Consul的支持,Consul既可以作为注册中心使用,也可以作为配置中心使用,本文将对其用法进行详细介绍。 Consul 简介 Consul是HashiCorp公司推出的开源软件,提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。 Spring Cloud Consul 具有如下特性: 支持服务治理:Consul作为注册中心时,微服务中的应用可以向Consul注册自己,并且可以从Consul获取其他应用信息; 支持客户端负责均衡:包括Ribbon和Spring Cloud LoadBalancer; 支持Zuul:当Zuul作为网关时,可以从Consul中注册和发现应用; 支持分布式配置管理:Consul作为配置中心时,使用键值对来存储配置信息; 支持控制总线:可以在整个微服务系统中通过 Control Bus 分发事件消息。 使用Consul作为注册中心 安装并运行Consul 首先我们从官网下载Consul,地址: www.consul.io/downloads.h… 下载完成后只有一个exe文件

企业分布式微服务云SpringCloud SpringBoot mybatis (十四)服务注册(consul)

自作多情 提交于 2019-12-06 21:06:33
这篇文章主要介绍 spring cloud consul 组件,它是一个提供服务发现和配置的工具。consul具有分布式、高可用、高扩展性。 一、consul 简介 consul 具有以下性质: 服务发现:consul通过http 方式注册服务,并且服务与服务之间相互感应。 服务健康监测 key/value 存储 多数据中心 consul可运行在mac windows linux 等机器上。 二、consul安装 linux $ mkdir -p $GOPATH/src/github.com/hashicorp && cd $! $ git clone https://github.com/hashicorp/consul.git $ cd consul $ make bootstrap $ make bootstrap windows下安装: 见consul怎么在windows下安装 三、构建工程 构建一个consul-miya的springboot工程,导入依赖pring-cloud-starter-consul-discovery,其依赖文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3

Spring Cloud Finchley.SR1 的学习与应用 4

时光毁灭记忆、已成空白 提交于 2019-12-03 21:30:24
Spring Cloud Consul 简介 Spring Cloud Consul项目是针对Consul的服务治理实现。Consul是一个分布式高可用的系统,它包含多个组件,但是作为一个整体,在微服务架构中为我们的基础设施提供服务发现和服务配置的工具。它包含了下面几个特性: 服务发现 健康检查 Key/Value存储 多数据中心 由于Spring Cloud Consul项目的实现,我们可以轻松的将基于Spring Boot的微服务应用注册到Consul上,并通过此实现微服务架构中的服务治理。 之所以在本项目中选择Consul而不是Eureka,是考虑到Eureka 2.0 开源工作宣告停止 服务注册 前篇文章已经介绍了consul服务端的部署安装,接下来介绍基于Spring Cloud Consul客户端的使用 创建modules-woqu,继承parent-woqu,用于管理业务系统项目 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0