Consul】的更多相关文章

上一篇:Mac OS.Ubuntu 安装及使用 Consul 1. 服务注册 对 Consul 进行服务注册之前,需要先部署一个服务站点,我们可以使用 ASP.NET Core 创建 Web 应用程序,并且部署到 Ubuntu 服务器上. ASP.NET Core Hell World 应用程序示例代码,只需要三个文件,Startup.cs代码: public class Startup { // This method gets called by the runtime. Use this…
Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStack 等相比,Consul 的方案更"一站式",内置了服务注册与发现框 架.分布一致性协议实现.健康检查.Key/Value 存储.多数据中心方案,不再需要依赖其他工具(比如 ZooKeeper 等).使用起来也较 为简单.Consul 用 Golang 实现,因此具有天然可移植性(支持 L…
随着大数据时代的到来,分布式是解决大数据问题的一个主要手段,随着越来越多的分布式的服务,如何在分布式的系统中对这些服务做协调变成了一个很棘手的问题.今天我们就来看看如何使用C# ,利用开源对分布式服务做协调. 在对分布式的应用做协调的时候,主要会碰到以下的应用场景: 业务发现(service discovery) 找到分布式系统中存在那些可用的服务和节点 名字服务 (name service) 通过给定的名字知道到对应的资源 配置管理 (configuration management) 如何在…
Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul的方案更"一站式",内置了服务注册与发现框 架.分布一致性协议实现.健康检查.Key/Value存储.多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等).使用起来也较 为简单.Consul用Golang实现,因此具有天然可移植性(支持Linux.windows和Mac OS X):安装包仅包含一个可执行文件,方便部署,与Docker等轻量级…
安装环境: mac:64bit(查看mac位数:打开终端-->"uname -a") consul_0.6.4_darwin_amd64.zip和consul_0.6.4_web_ui.zip,从consul官网https://www.consul.io/downloads.html进行下载就好(选择好OS和位数) 一.安装 1.解压consul_0.6.4_darwin_amd64.zip 2.将解压后的二进制文件consul(上边画红框的部分拷贝到/usr/local/bin…
懒人学习的过程就是工作中老大让干啥让做啥就研究研究啥,国庆放假回来的周末老大通过钉钉给我布置了个任务, RabbitMQ高可用解决方案,我想说钉钉太坑了: 这是国庆过后9号周日晚上下班给的任务,我周一看到的时候一看,下周五,那岂不是21号,时间是如此的充裕!那不还早呢么..恰巧同学要面试了9号晚上一起吃饭,然后问了我几个算法,然后被鄙视了..他说我一个前端都比你做后台的算法牛逼,你请客吧-.-于是周一到周三光学算法了(程序员为了吹牛逼,哪有啥节操啊)直到周四老大说,明天任务到期了!研究咋样了!此…
研究了一段时间Consul,想写个攻略来着,但太赖了而且表达能力非正常人...今天发现HashiCorp果然接纳大众意见改了点东西.. 场景是: 假如Consul集群内有三个Server Node 时,当一个节点突然挂掉了,想要重连怎么办. 在之前的版本中方案有两种: 1.部署完集群后将consul-data\raft\peers.json内的文件先备份,等到有节点挂掉后将peers.json文件替换成之前备份的文件然后通过-rejoin 如:consul agent -server -conf…
1.   准备工作 a)      启动三台虚拟机 s1:10.1.7.141 s2:10.1.7.139 s3:10.1.7.138 b)      每台机器上在 /home新建文件夹 mkdir /home/consul mkdir /home/consul/data c)      下载consul,并将其考入到/home/consul中 下载地址:https://www.consul.io/downloads.html 2.   启动server agent a)      进入cons…
安装所需软件 Docker Docker-compose 配置docker-compose.yml文件内容如下: #load balancer will automatically update the config using consul-template lb: image: yeasy/nginx-consul-template:latest hostname: lb volumes: - /usr/soft/consul/logapi.conf:/etc/consul-template…
下载文件https://www.consul.io/downloads.html, 解压完毕后只有一个consul文件 consul 启动一个 Agent consul agent -server -bootstrap-expect 1 -data-dir E:\soft\consul_0.7.0_windows\data -node=web -bind=127.0.0.1 -config-dir E:\soft\consul_0.7.0_windows\config\test.json -ui…
服务发现和注册 我们有了两个服务.服务A的IP地址是192.168.0.1,端口9001,服务B的IP地址192.168.0.2,端口9002.我们的客户端需要调用服务A和服务B,我们只需要在配置文件中写上服务A和服务B的IP地址即可. 此时,服务A的服务器负载有点高,我们需要临时增加服务A的实例,IP192.168.0.3,端口9001.但是我们的客户端要怎么才能调用新的实例? 常规来说,我们可以有以下几种方法: 网络代理方式 如果是http方式通信的服务,可以增加一个nginx做反向代理,转…
https://github.com/hashicorp/consul/tree/master/vendor/github.com/boltdb/bolt…
保证模板的正常执行 使用||true $ consul-template -template "in.ctmpl:out.file:service nginx restart || true" 当nginx不返回0的时候,仍然返回OK exit code, consul模板仍然作为服务继续执行. 建议复杂的东西还是写sh吧. 多阶段执行 {{range services}} {{range service .Name}} {{.Address}} {{end}}{{end}} 注意执行…
datacenters {{datacenters}} 数据中心 file {{file "/path/to/local/file"}} 读取本地文件的内容.如果不可读的话,会报错 key {{key "service/redis/maxconns@east-aws"}} 读取consul的键的值.如果key不能转为字符串,则报错. 上面的命令读取的是east-aws这个数据中心的 service/redis/maxconns键的值 {{key "serv…
Docker 容器部署 Consul 集群 一.docker安装与启动1.1安装docker[root@localhost /]# yum -y install docker-io 1.2更改配置文件[root@localhost /]# vi /etc/sysconfig/dockerother-args列更改为:other_args="--exec-driver=lxc --selinux-enabled" 1.3启动docker服务[root@localhost /]# serv…
1. linux 下consul 安装 首先查看机器信息: uname -a Linux centos-linux.shared 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 进入目录,新建文件夹conusl,执行: wget https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.z…
--net=host:运行consul的docker镜像必须带有的参数,因为consul的consensus和gossip协议对于网络的延迟和丢包很敏感,所以引入额外的其他网络类型的层是不可取并且不必要的. /consul/data:数据存储目录 /consul/config:配置文件所在目录,配置也可以通过环境变量名为CONSUL_LOCAL_CONFIG(其值为json串)来指定 一.下载docker镜像 docker pull consul:0.7.1 docker tag xxx 10.…
服务端: nohup consul agent -server -bootstrap-expect 1 -config-dir /etc/consul.d/ -data-dir /var/opt/consul -bind=121.42.204.73 >> /var/opt/consul/consul.log 2>&1 注册服务: curl -X PUT -d '{"type":"locationService","outPort&…
Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware. 服务发现和配置,分布式,高可用性,数据中心. 服务注册 - 服务端注册相应的的主机.端口号及其它身份验证信息,协议,版本号,以及运行环境等详细资料. 服务发现 - 客户端应用通过向注册中心查询,获取可用服务列表,相应服务详细信息. 基本服务格式: { "service":{ "i…
参看https://github.com/hashicorp/consul-template#examples // This is the address of the Consul agent. By default, this is 127.0.0.1:8500, // which is the default bind and port for a local Consul agent. It is not // recommended that you communicate dire…
Consul Template的使用 1安装 地址 https://github.com/hashicorp/consul-template/releases wget https://releases.hashicorp.com/consul-template/0.14.0/consul-template_0.14.0_linux_amd64.zip unzip consul-template_0.14.0_linux_amd64.zip cp consul-template /usr/loc…
加入集群的问题 1 只有2个server的时候,一个挂掉,不会选举出新的leader. 2 使用 -bootstrap 可以直接启动为leader,这和-bootstrap-expect 是有区别的 3第一次加入集群使用consul join ip地址 4 挂掉后重启 要使用consul ...... rejoin 加入. 即在启动命令后加 rejoin. (建议使用 这几个选项,否则可能出现没等挂掉的机器加入集群,就被集群认定该node已死,而可能导致的通信问题 -retry-join=1.2…
1 webui 默认最新的webui只支持127.0.0.1这种的本机网站的 不支持192.168.1.2 启用192.168.1.2的支持 命令加 -client 192.168.2.156 感谢赵记刚 http://www.cnblogs.com/java-zhao/p/5381892.html 2 配置示例 test_config.json //服务器配置 sonarqube.json // 服务配置 { "data_dir": "./consul-data"…
centos7上consul的安装 ###一 下载 下载文件 wget https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip unzip consul_0.6.4_linux_amd64.zip 拷贝到适当的位置 查看 consul -v 如果显示出版本表示没有问题.如果报错请重新下载,或者查看环境变量是否设置正确 ### 二打开端口 有8300 8500 8301 如果使用webui 请到官网 下载文件…
centos7上consul的安装--新手笔记 环境 我用的是centos7, 用的是vmware 一 安装系统后首先要设置ip ifconfig eth0 →查看IP 不过输出的信息多一些 ifconfig|grep 'Bcast' → 这个输出的信息要清晰多了 修改IP并生效 编辑/etc/sysconfig/network-scripts/ifcfg-eth0,按如下设置 DEVICE=eth0 BOOTPROTO=static HWADDR= ONBOOT=yes TYPE=Ethern…
原文:http://blog.csdn.net/yeyincai/article/details/51470475 -.背景 谈论服务化框架的时候,我们首先先了解这些概念:SOA.ESB.OSGi.servicemix.微服务.Spring Boot SOA:面向服务架构,传统简单的网站系统采用MVC架构,随着系统需求不断的变化和业务不断的扩展,MVC显得很无力,MVC不断的变大,维护开发越来越困难,SOA解决的是MVC里面大而核心的功能,抽离出来做成服务提供给不断变化的业务使用.SOA提出多年…
抄自这里 ************************************************************************************************ 网上找来找去都是zk和etcd的比较,和consul的比较很少,这个感觉还算靠谱,也在别的地方看到过对consul的吐槽,记录下 ***********************************************************************************…
SpringCloud+Consul 服务注册与服务发现 1. 服务注册: 在Spring.factories有一段: # Discovery Client Configuration org.springframework.cloud.client.discovery.EnableDiscoveryClient=\ org.springframework.cloud.consul.discovery.ConsulDiscoveryClientConfiguration 这是SpringClou…
Docker + Consul 多数据中心模拟 1. dc1搭建 docker run -d --name node1 -h node1 progrium/consul -server -bootstrap-expect 3 JOIN_IP="$(docker inspect -f '{{.NetworkSettings.IPAddress}}' node1)" docker run -d --name node2 -h node2 progrium/consul -server -j…
[编者的话]本文对比了Zookeeper.etcd和Consul三种服务发现工具,探讨了最佳的服务发现解决方案,仅供参考. 如果使用预定义的端口,服务越多,发生冲突的可能性越大,毕竟,不可能有两个服务监听同一个端口.管理一个拥挤的比方说被几百个服务所使用的所有端口的列表,本身就是一个挑战,添加到该列表后,这些服务需要的数据库和数量会日益增多.因此我们应该部署无需指定端口的服务,并且让Docker为我们分配一个随机的端口.唯一的问题是我们需要发现端口号,并且让别人知道. 当我们开始在一个分布式系统…