精华内容
下载资源
问答
  • Consul服务发现原理 使用以下案例进行Consul服务发现原理的讲解,如图所示: 1、部署集群。首先需要有一个正常的Consul集群,有Server,有Leader。这里在服务器Server1、Server2、Server3上分别部署了Consul ...

    Consul服务发现原理

    使用以下案例进行Consul服务发现原理的讲解,如图所示:

    1、部署集群。首先需要有一个正常的Consul集群,有Server,有Leader。这里在服务器Server1、Server2、Server3上分别部署了Consul Server。

    2、选举Leader节点。假设他们选举了Server2上的 Consul Server 节点为Leader。这些服务器上最好只部署Consul程序,以尽量维护Consul Server的稳定。

    3、注册服务。然后在服务器Server4和Server5上通过Consul Client分别注册Service A、B、C,这里每个Service 分别部署在了两个服务器上,这样可以避免Service的单点问题。服务注册到Consul可以通过 HTTP API(8500 端口)的方式,也可以通过 Consul 配置文件的方式。

    4、Consul client转发注册消息。Consul Client 可以认为是无状态的,它将注册信息通过RPC转发到Consul Server,服务信息保存在Server的各个节点中,并且通过Raft实现了强一致性。

    5、服务发起通信请求。最后在服务器Server6中Program D需要访问Service B,这时候Program D首先访问本机Consul Client提供的HTTP API,本机Client会将请求转发到 Consul Server。

    6、Consul Server查询到Service B当前的信息返回,最终Program D拿到了Service B的所有部署的IP和端口,然后就可以选择Service B的其中一个部署并向其发起请求了。

    展开全文
  • Consul服务发现原理 使用以下案例进行Consul服务发现原理的讲解,如图所示: 1、部署集群。首先需要有一个正常的Consul集群,有Server,有Leader。这里在服务器Server1、Server2、Server3上分别部署了Consul ...

    Consul服务发现原理

    使用以下案例进行Consul服务发现原理的讲解,如图所示:

    1、部署集群。首先需要有一个正常的Consul集群,有Server,有Leader。这里在服务器Server1、Server2、Server3上分别部署了Consul Server。

    2、选举Leader节点。假设他们选举了Server2上的 Consul Server 节点为Leader。这些服务器上最好只部署Consul程序,以尽量维护Consul Server的稳定。

    3、注册服务。然后在服务器Server4和Server5上通过Consul Client分别注册Service A、B、C,这里每个Service 分别部署在了两个服务器上,这样可以避免Service的单点问题。服务注册到Consul可以通过 HTTP API(8500 端口)的方式,也可以通过 Consul 配置文件的方式。

    4、Consul client转发注册消息。Consul Client 可以认为是无状态的,它将注册信息通过RPC转发到Consul Server,服务信息保存在Server的各个节点中,并且通过Raft实现了强一致性。

    5、服务发起通信请求。最后在服务器Server6中Program D需要访问Service B,这时候Program D首先访问本机Consul Client提供的HTTP API,本机Client会将请求转发到 Consul Server。

    6、Consul Server查询到Service B当前的信息返回,最终Program D拿到了Service B的所有部署的IP和端口,然后就可以选择Service B的其中一个部署并向其发起请求了。

    展开全文
  • Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 ...

    Consul 是什么 Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对.

    需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六

    命令行超级好用的虚拟机管理软件 vgrant 也是 HashiCorp 公司开发的产品.

    一致性协议采用 Raft 算法,用来保证服务的高可用. 使用 GOSSIP 协议管理成员和广播消息, 并且支持 ACL 访问控制.

    Consul 的优势

    使用 Raft 算法来保证一致性, 比复杂的 Paxos 算法更直接. 相比较而言, zookeeper 采用的是 Paxos, 而 etcd 使用的则是 Raft.

    支持多数据中心,内外网的服务采用不同的端口进行监听。

    多数据中心集群可以避免单数据中心的单点故障,而其部署则需要考虑网络延迟, 分片等情况等. zookeeper 和 etcd 均不提供多数据中心功能的支持.

    支持健康检查. etcd 不提供此功能.

    支持 http 和 dns 协议接口. zookeeper 的集成较为复杂, etcd 只支持 http 协议.

    官方提供web管理界面, etcd 无此功能.

    综合比较, Consul 作为服务注册和配置管理的新星, 比较值得关注和研究.

    Consul 的角色

    client: 客户端, 无状态, 将 HTTP 和 DNS 接口请求转发给局域网内的服务端集群.

    server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通讯, 通过广域网与其他数据中心通讯. 每个数据中心的 server 数量推荐为 3 个或是 5 个.

    Consul服务发现原理

    首先需要有一个正常的Consul集群,有Server,有Leader。这里在服务器Server1、Server2、Server3上分别部署了Consul Server,假设他们选举了Server2上的Consul Server节点为Leader。这些服务器上最好只部署Consul程序,以尽量维护Consul Server的稳定。

    然后在服务器Server4和Server5上通过Consul Client分别注册Service A、B、C,这里每个Service分别部署在了两个服务器上,这样可以避免Service的单点问题。服务注册到Consul可以通过HTTP API(8500端口)的方式,也可以通过Consul配置文件的方式。Consul Client可以认为是无状态的,它将注册信息通过RPC转发到Consul Server,服务信息保存在Server的各个节点中,并且通过Raft实现了强一致性。

    最后在服务器Server6中Program D需要访问Service B,这时候Program D首先访问本机Consul Client提供的HTTP API,本机Client会将请求转发到Consul Server,Consul Server查询到Service B当前的信息返回,最终Program D拿到了Service B的所有部署的IP和端口,然后就可以选择Service B的其中一个部署并向其发起请求了。如果服务发现采用的是DNS方式,则Program D中直接使用Service B的服务发现域名,域名解析请求首先到达本机DNS代理,然后转发到本机Consul Client,本机Client会将请求转发到Consul Server,Consul Server查询到Service B当前的信息返回,最终Program D拿到了Service B的某个部署的IP和端口。

    图中描述的部署架构笔者认为是最普适最简单的方案,从某些默认配置或设计上看也是官方希望使用者采用的方案,比如8500端口默认监听127.0.0.1,当然有些同学不赞同,后边会提到其他方案。 java B2B2C springmvc mybatis电子商务平台源码

    转载于:https://juejin.im/post/5c2ebde76fb9a049c43dcc8d

    展开全文
  • Consul 是什么Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康检查,并允许 HTTP 和 ...

    Consul 是什么
    Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对.
    需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六
    命令行超级好用的虚拟机管理软件 vgrant 也是 HashiCorp 公司开发的产品.
    一致性协议采用 Raft 算法,用来保证服务的高可用. 使用 GOSSIP 协议管理成员和广播消息, 并且支持 ACL 访问控制.
    Consul 的优势
    使用 Raft 算法来保证一致性, 比复杂的 Paxos 算法更直接. 相比较而言, zookeeper 采用的是 Paxos, 而 etcd 使用的则是 Raft.
    支持多数据中心,内外网的服务采用不同的端口进行监听。 多数据中心集群可以避免单数据中心的单点故障,而其部署则需要考虑网络延迟, 分片等情况等. zookeeper 和 etcd 均不提供多数据中心功能的支持.
    支持健康检查. etcd 不提供此功能.
    支持 http 和 dns 协议接口. zookeeper 的集成较为复杂, etcd 只支持 http 协议.
    官方提供web管理界面, etcd 无此功能.
    综合比较, Consul 作为服务注册和配置管理的新星, 比较值得关注和研究.

    Consul 的角色
    client: 客户端, 无状态, 将 HTTP 和 DNS 接口请求转发给局域网内的服务端集群.
    server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通讯, 通过广域网与其他数据中心通讯. 每个数据中心的 server 数量推荐为 3 个或是 5 个.

    Consul服务发现原理
    consul_

    首先需要有一个正常的Consul集群,有Server,有Leader。这里在服务器Server1、Server2、Server3上分别部署了Consul Server,假设他们选举了Server2上的Consul Server节点为Leader。这些服务器上最好只部署Consul程序,以尽量维护Consul Server的稳定。

    然后在服务器Server4和Server5上通过Consul Client分别注册Service A、B、C,这里每个Service分别部署在了两个服务器上,这样可以避免Service的单点问题。服务注册到Consul可以通过HTTP API(8500端口)的方式,也可以通过Consul配置文件的方式。Consul Client可以认为是无状态的,它将注册信息通过RPC转发到Consul Server,服务信息保存在Server的各个节点中,并且通过Raft实现了强一致性。

    最后在服务器Server6中Program D需要访问Service B,这时候Program D首先访问本机Consul Client提供的HTTP API,本机Client会将请求转发到Consul Server,Consul Server查询到Service B当前的信息返回,最终Program D拿到了Service B的所有部署的IP和端口,然后就可以选择Service B的其中一个部署并向其发起请求了。如果服务发现采用的是DNS方式,则Program D中直接使用Service B的服务发现域名,域名解析请求首先到达本机DNS代理,然后转发到本机Consul Client,本机Client会将请求转发到Consul Server,Consul Server查询到Service B当前的信息返回,最终Program D拿到了Service B的某个部署的IP和端口。

    图中描述的部署架构笔者认为是最普适最简单的方案,从某些默认配置或设计上看也是官方希望使用者采用的方案,比如8500端口默认监听127.0.0.1,当然有些同学不赞同,后边会提到其他方案。java B2B2C springmvc mybatis电子商务平台源码

    展开全文
  • 文章目录1.docker consul简介1.1为什么使用docker consul1.2consul服务发现原理2.docker consul搭建2.1测试consul服务是否正常 1.docker consul简介 1.1为什么使用docker consul 例如微服务、负载均衡的服务器池,...
  • consul 原理简述 图中有两个数据中心,分别为Datacenter1和Datacenter2 Consul非常好的支持多个数据中心,每个数据中心内,有客户端和服务器端,服务器一般为3~5个,这样可以在稳定和性能上达到平衡,因为更多...
  • consul服务发现入门篇

    千次阅读 2016-12-09 18:08:03
    前言:常用的服务发现有 zookeeper:https://zookeeper.apache.org/ etcd:https://coreos.com/etcd/ consul:https://www.consul.io/ consul: 集成了 服务发现、故障检测、多数据中心、K/V存储。 consul安装...
  • Consul工作原理 consul工作原理如下图所示: 服务发现以及注册 当服务Producer启动时,会将自己的IP/host等信息通过发送请求告知ConsulConsul接收到Producer的注册信息后,每个10s(默认)会向Producer发送一个...
  • Consul 服务注册与发现

    2020-12-20 13:05:53
    Consul 服务注册与发现
  • Consul 服务发现与配置

    2017-05-18 10:42:00
    服务发现Consul 的客户端可用提供一个服务,比如 api 或者mysql ,另外一些客户端可用使用 Consul发现一个指定服务的提供者.通过 DNS 或者 HTTP 应用程序可用很容易的找到他所依赖的服务. 健康检查Consu...
  • consul工作原理

    2021-03-26 15:03:07
    consul工作原理目录consul服务发现和注册consul服务调用工作模式图consul 核心 agent组件consul 通讯方式consul的优势consul的使用场景 目录 个人原创总结之 consul 原理 consul服务发现和注册 服务product启动时,...
  • 本文目录 Consul 简介 Consul Glossary(术语) Consul Architecture(架构图) ...Consul 与 应用集成的几种姿势 ...Consul 与 Nginx集成的几种姿势 ...Consul 搭建配置中心 ...Service Discovery (服务发现...
  • consul原理

    2020-01-23 20:40:42
    Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/...
  • consul服务注册过程(实现原理

    千次阅读 2019-09-18 17:35:36
    实现原理 Registrator监控到Web Server的状态更新,自动在Consul服务注册中心将它注册或者注销; 以相同的Consul标签对Web Server进行服务标记和分类,新增或者删除Web Server服务器节点; Consul-template订阅...
  • 在云计算和容器化技术发展火热的当下,对于微服务架构,服务注册与发现组件是必不可少的。在传统的服务架构中,服务的规模处于运维人员的可控范围内。当部署服务的多个节点时,一般使用静态配置的方式实现服务信息的...
  • Consul分布式锁原理详解及实例 现在大型系统为了保证服务高可用,都为分布式架构。Consul是一款较zookeepr、etcd等年轻的纯Goland分布式服务架构。其包含多个功能模块服务发现、检查健康、K/V存储、多数据中心等,...
  • Consul服务注册与服务发现机制

    千次阅读 2019-06-25 15:43:02
    1、什么是服务注册中心? 顾名思义,假设你有一个分布式系统,里面包含了多个服务,部署在不同的机器上,然后这些不同机器上的服务之间要互相调用。...现在订单服务是想要调用库存服务,但是他并不知道库存服务在...
  • Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/...
  • consul 原理分析

    千次阅读 2019-06-20 01:38:41
    服务发现和治理 在分布式系统结构中,往往由成百上千的业务服务组成,为了容灾(节点宕机)、扩容(增加节点)、提高...当服务Producer 启动时,会将自己的Ip/host等信息通过发送请求告知 ConsulConsul 接收到 Pr...
  • consul-esm原理介绍

    2019-07-31 22:06:35
    1,通过esm的服务名和tag查询esm服务实例。 2,根据esm配置里的node-meta,用catalog/nodes接口查询nodes。 3,leader把nodes平均分配给esm实例,记录到KV。 4,每个esm实例查询KV获取自己的nodes,然后查询health-...
  • Docker Consul容器服务更新与发现

    千次阅读 2020-09-24 11:32:38
    文章目录一、Docker Consul容器服务更新与发现原理二、Consul服务部署三、容器中服务自动加入nginx集群 一、Docker Consul容器服务更新与发现原理 工作流程: 当后面容器增加时,registrator发现并注册容器中的服务...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,583
精华内容 3,033
关键字:

consul服务发现原理