consul集群环境的搭建

consul基于go语言编写的分布式高并发服务发现组件,围绕微服务做了一些专门的设计,支持LAN ,WAN,不同数据中心之间的服务注册信息同步。

单机搭建 (/usr/local/consul/consul agent -h)

consul agent -server -ui -bootstrap-expect=1 -data-dir=D:\consuldata -node=agent-one -http-port=8500 -config-dir=D:\consuldata\config

开发环境可以直接使用 consul agent -dev

服务查看界面
http://127.0.0.1:8500/ui

如果consul和应用不在一台机器,需要使用-client= consulIP

集群搭建

1.环境准备
consul版本0.7.5

agent-one : 100.100.193.225
agent-two : 100.100.225.22

2.启动各个节点
/usr/local/consul/consul agent -server -ui -node=agent-one -bind=100.100.193.225 -client=100.100.193.225 -bootstrap-expect=1 -data-dir=/usr/local/consul

/usr/local/consul/consul agent -server -ui -node=agent-two -bind=100.100.225.22 -client=100.100.225.22 -data-dir=/usr/local/consul

3.集群查看 (/usr/local/consul/consul members -h)
/usr/local/consul/consul members -rpc-addr=100.100.193.225:8400

4.集群新增节点 (在100.100.193.225上操作新增100.100.225.22)
/usr/local/consul/consul join -rpc-addr=100.100.193.225:8400 100.100.225.22

5.集群节点删除 (在100.100.225.22 上操作)
/usr/local/consul/consul leave -rpc-addr=100.100.225.22:8400

集群验证

在A注册中心注册,B注册中心中进行服务查询即可验证集群是否生效

1.注册中心的使用
调用rest api进行服务注册
consul提供服务注册和查询的REST服务,天然的支持多种开发语言,见
https://github.com/OrbitzWorldwide/consul-client

2.服务注册与失效规则设置
https://www.consul.io/docs/agent/http/agent.html#agent_service_register

https://www.consul.io/docs/agent/checks.html
支持的验证的规则 (前面两种灵活性最高)
- .Script + Interval 脚本返回值为0,表示服务可用
- .HTTP + Interval response code 为2** 表示服务可用
- .TCP + Interval
- .TTL
- .Docker + Interval

使用consul来作为微服务的注册中心

http://cloud.spring.io/spring-cloud-consul/
比起eureka作为注册中心的高可用方案,配置更简单;服务失效检测规则更丰富;

consul常用端口

ports This is a nested object that allows setting the bind ports for the following keys:

dns - The DNS server, -1 to disable. Default 8600.
http - The HTTP API, -1 to disable. Default 8500.
https - The HTTPS API, -1 to disable. Default -1 (disabled).
serf_lan - The Serf LAN port. Default 8301.
serf_wan - The Serf WAN port. Default 8302.
server - Server RPC address. Default 8300. (0.7版本为8400 )

Consul0.7.*启动信息分析:包含启动模式,常用端口信息
Consul agent running!
Version: ‘v0.7.2’
Node name: ‘wuhy2wwx4389991’
Datacenter: ‘dc1’
Server: true (bootstrap: false)
Client Addr: 127.0.0.1 (HTTP: 8500, HTTPS: -1, DNS: 8600, RPC: 8400)
Cluster Addr: 127.0.0.1 (LAN: 8301, WAN: 8302)
Gossip encrypt: false, RPC-TLS: false, TLS-Incoming: false

相关资料

服务注册中心的相关文档见 https://www.consul.io/docs/commands/agent.html

consul的体系结构 https://www.consul.io/docs/internals/architecture.html

集群环境的搭建 https://www.consul.io/intro/getting-started/join.html

集群节点查看 https://www.consul.io/docs/commands/members.html

通信加密 https://www.consul.io/docs/agent/encryption.html

consul端口 https://www.consul.io/docs/agent/options.html#ports

consul客户端工具 https://www.consul.io/downloads_tools.html

嵌入式consul https://github.com/pszymczyk/embedded-consul

spring-cloud-consul技术文档:http://cloud.spring.io/spring-cloud-consul/

spring-cloud-consul-sample 案例: https://github.com/spring-cloud/spring-cloud-consul/tree/master/spring-cloud-consul-sample

SpringCloud教程:
https://github.com/liaokailin/springcloud/blob/master/note/3.eureka.md

SPRING CLOUD教程 :http://git.oschina.net/didispace/SpringCloud-Learning

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值