文档章节

Consol

gamal_zf
 gamal_zf
发布于 2017/08/09 19:21
字数 820
阅读 7
收藏 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
博文 20
码字总数 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
66
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
1K
2
intellij的设置key map里面有方块乱码,请问是什么问题?

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

呆萌
2013/03/18
801
3
extjs中loadecxeption,求助,找了快一个星期了,大家帮帮忙,帮我看一下

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

MAX
2015/10/02
154
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
384
8

没有更多内容

加载失败,请刷新页面

加载更多

下一页

InvalidKeyException: Illegal key size

Caused by: java.lang.RuntimeException: java.security.InvalidKeyException: Illegal key size 解决方案:去官方下载JCE无限制权限策略文件。 jdk 5: http://www.oracle.com/technetwork/j......

自由的开源
11分钟前
0
0
JAVA秒杀实现以及优化原理

秒杀与其他业务最大的区别在于:秒杀的瞬间, (1)系统的并发量会非常的大 (2)并发量大的同时,网络的流量也会瞬间变大。 关于(2),最常用的办法就是做页面静态化,也就是常说的前后端分...

小贱是个程序员
15分钟前
1
0
Spring Aop之Advisor解析

在上文Spring Aop之Target Source详解中,我们讲解了Spring是如何通过封装Target Source来达到对最终获取的目标bean进行封装的目的。其中我们讲解到,Spring Aop对目标bean进行代理是通过Ann...

爱宝贝丶
17分钟前
0
0
Java高级工程师面试阿里,阿里云,天猫,菜鸟,涉及到的知识点

前言: 分享 Java高级工程师面试阿里,阿里云,天猫,菜鸟,涉及到的知识点,文章有点长,但比较全面,阅读时间15分钟左右,干货满满。 一、HashMap的那些事 1.1、HashMap的实现原理 1.1.1、...

Java大蜗牛
42分钟前
2
0
nginx模块学习五 expires 浏览器缓存

缓存原理 语法 Syntax: expires [modified] time;expires epoch | max | off;Default: expires off;Context: http,server,location,if in location 例/etc/nginx/conf.d/default.con......

Romanceling
53分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部