文档章节

Consol

gamal_zf
 gamal_zf
发布于 2017/08/09 19:21
字数 820
阅读 7
收藏 0
点赞 0
评论 0

1. 简介

2. 术语

  •  Agent: agent是一直运行在Consul集群中每个成员上的守护进程。通过运行 consul agent 来启动。agent可以运行在client或者server模式。
  • Client: 一个Client是一个转发所有RPC到server的代理。这个client是相对无状态的。client唯一执行的后台活动是加入LAN gossip池。这有一个最低的资源开销并且仅消耗少量的网络带宽。
  • Server: 一个server是一个有一组扩展功能的代理,这些功能包括参与Raft选举,维护集群状态,响应RPC查询,与其他数据中心交互WAN gossip和转发查询给leader或者远程数据中心。
  • DataCenter: 虽然数据中心的定义是显而易见的,但是有一些细微的细节必须考虑。例如,在EC2中,多个可用区域被认为组成一个数据中心?我们定义数据中心为一个私有的,低延迟和高带宽的一个网络环境。这不包括访问公共网络,但是对于我们而言,同一个EC2中的多个可用区域可以被认为是一个数据中心的一部分。
  • Gossip: Consul建立在Serf的基础之上,它提供了一个用于多播目的的完整的gossip协议。Serf提供成员关系,故障检测和事件广播。更多的信息在gossip文档中描述。这足以知道gossip使用基于UDP的随机的点到点通信。
  • LAN Gossip: 它包含所有位于同一个局域网或者数据中心的所有节点。
  • WAN Gossip: 它只包含Server。这些server主要分布在不同的数据中心并且通常通过因特网或者广域网通信。
  • RPC: 远程过程调用。这是一个允许client请求server的请求/响应机制。

3. Consol架构

  • 每个数据中心,client和server是混合的。一般建议有3-5台server
  • 同一个数据中心的所有节点都必须加入gossip协议。这意味着gossip协议包含一个给定数据中心的所有节点。
  • 每个数据中心的server都是Raft节点集合的一部分。这意味着它们一起工作并选出一个leader,一个有额外工作的server。leader负责处理所有的查询和事务。作为一致性协议的一部分,事务也必须被复制到所有其他的节点。因为这一要求,当一个非leader得server收到一个RPC请求时,它将请求转发给集群leader。
  • server节点也作为WAN gossip Pool的一部分。这个Pool不同于LAN Pool,因为它是为了优化互联网更高的延迟,并且它只包含其他Consul server节点。这个Pool的目的是为了允许数据中心能够以low-touch的方式发现彼此。这使得一个新的数据中心可以很容易的加入现存的WAN gossip。因为server都运行在这个pool中,它也支持跨数据中心请求。当一个server收到来自另一个数据中心的请求时,它随即转发给正确数据中想一个server。该server再转发给本地leader。

© 著作权归作者所有

共有 人打赏支持
gamal_zf
粉丝 1
博文 19
码字总数 5930
作品 0
深圳
高级程序员
framework7 ajax post提交

var $$ = window.Dom7;//do get request$$.get('path-to-file.php', {id:3}, function (data) {consol.log(data);} //do post request$$.post('path-to-file.php', {id:3}, function (data) ......

GIFCOOL ⋅ 2016/12/28 ⋅ 0

为什么我用subprocess.Popen ,打开一个cmd后,这个cmd的consol在python的sonsol里面?

为什么我用subprocess.Popen ,打开一个cmd后,这个cmd的consol在python的sonsol里面?http://www.youneirong.com/archives/170.html 比如说subprocess.Popen(“ping 127.0.0.1″) ping自己本......

Wanger ⋅ 2012/09/25 ⋅ 2

intellij的设置key map里面有方块乱码,请问是什么问题?

我在网上查了一些解决办法,包括解决jre的字体什么的.导入ubuntu的字体库,都无法解决.至于那个什么consol yahei的解决方案.那个字体实在太难看.我没用

呆萌 ⋅ 2013/03/18 ⋅ 3

extjs中loadecxeption,求助,找了快一个星期了,大家帮帮忙,帮我看一下

store里面发送请求,获取后台的json数据,通过consol打印数据可以看到正常取值,但是页面加载数据的时候就是进入到loadexception里面,不能读取数据。json数据: {success:true,'totalCounts...

MAX ⋅ 2015/10/02 ⋅ 4

jquery请求ajax不执行

$('#all_income').blur(function(){ alert(1); var va=$('#all_income').val(); var recruit_way=$("#theWay").attr("value"); $.ajax({ url:"index.php?m=Company&a=deductionFee", type:GE......

ywaao ⋅ 2016/06/03 ⋅ 8

windows批处理文件中常用的命令

dos consol 下help,可以看到dos支持的命令集合 要查看某一个具体的命令,可以这么做 help + 命令 比如help copy ================== rename 改名,文件必须在当前目录底下 cd ../libs/armea...

jacksonke ⋅ 2014/06/19 ⋅ 0

解决ADB server 端口被占用的问题

win 7 上使用adb时,总是会出现adb devices 命令长时间无响应、adb start-server 失败的情况。DDMS里的Consol弹窗如下所示: Failed to initialize Monitor Thread: Unable to establish loo...

dangyao92 ⋅ 2016/06/17 ⋅ 0

JSP support not configured

Jetty内嵌 测试代码时,浏览jsp页面报错: JSP support not configured 这时查看下后台的consol,会发现有如下日志信息: NO JSP Support for /, did not find org.eclipse.jetty.jsp.Jetty...

liuhuics10 ⋅ 2016/03/20 ⋅ 0

KVM 虚拟化管理平台--VManagePlatform

VManagePlatform 是什么? 一个KVM虚拟化管理平台 开发语言与框架: 编程语言:Python2.7 + HTML + JScripts 前端Web框架:Bootstrap 后端Web框架:Django 后端Task框架:Celery + Redis VM...

WelliamCao ⋅ 2017/03/01 ⋅ 4

Java 缓存介绍:Ehcache、Hazelcast、Infinispan

对于这样的一个问题:最好的 Java 缓存解决方案是哪个? 很难有一个简单的答案,这依赖于不同的应用场景: 是否只需要一个本地的缓存,或者是需要在应用集群中使用的缓存分区 在数据一致性和...

红薯 ⋅ 2013/07/02 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

645. Set Mismatch - LeetCode

Question 645. Set Mismatch Solution 思路: 遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果r...

yysue ⋅ 6分钟前 ⋅ 0

Confluence 6 从生产环境中恢复一个测试实例

请参考 Restoring a Test Instance from Production 页面中的内容获得更多完整的说明。 很多 Confluence 的管理员将会使用生产实例运行完整数据和服务的 Confluence 服务器,同时还会设置一个...

honeymose ⋅ 10分钟前 ⋅ 0

Python这么强?红包杀手、消息撤回也可以无视,手机App辅助!

论述 标题也许有点不好理解,其实就是一款利用Python实现的可以监控微信APP内的红包与消息撤回的助手。不得不说,这确实是一款大家钟意的神器。 消息撤回是一件很让人恶心的事,毕竟人都是有...

Python燕大侠 ⋅ 22分钟前 ⋅ 0

压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具

压缩打包介绍 压缩的好处不仅能节省磁盘空间而且在传输的时候节省传输时间和网络带宽 windows系统下文件带有 .rar .zip .7z 后缀的就是压缩文件 linux系统下则是 .zip, .gz, .bz2, .xz, ...

黄昏残影 ⋅ 26分钟前 ⋅ 0

观察者模式

1.利用java原生类进行操作 package observer;import java.util.Observable;import java.util.Observer;/** * @author shadow * @Date 2016年8月12日下午7:29:31 * @Fun 观察目标 **/......

Cobbage ⋅ 29分钟前 ⋅ 0

Ubuntu打印服务器配置

参考:https://blog.csdn.net/gsls200808/article/details/50950586 https://blog.csdn.net/jiay2/article/details/80252369 https://wiki.gentoo.org/wiki/HPLIP 由于媳妇儿要大量打印资料,......

大熊猫 ⋅ 35分钟前 ⋅ 0

面试的角度诠释Java工程师(二)

原文出处: locality 续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会...

颖伙虫 ⋅ 37分钟前 ⋅ 0

github中SSH的Key

https://help.github.com/articles/connecting-to-github-with-ssh/ https://help.github.com/articles/testing-your-ssh-connection/ https://help.github.com/articles/adding-a-new-ssh-k......

whoisliang ⋅ 38分钟前 ⋅ 0

only_full_group_by

我的mysql是在CentOS7.1下面的5.7.17 在 /etc/my.cnf 文件里加上如下: sql_mode='NO_ENGINE_SUBSTITUTION' 然后,重启Mysql服务 systemctl restart mysqld...

SunHacker ⋅ 今天 ⋅ 0

实际项目(SpringBoot项目)中集成Druid

参考网页 https://blog.csdn.net/liuchuanhong1/article/details/55050131 https://blog.csdn.net/CoffeeAndIce/article/details/78707819 https://www.pocketdigi.com/20170530/1577.html 为......

karma123 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部