docker 单机安装consul
为什么选consulSpring Cloud 支持的服务发现软件以及特性对比:FeatureeuerkaConsulzookeeperetcd服务健康检查可配支持服务状态,内存,硬盘等(弱)长连接,keepalive连接心跳多数据中心—支持——kv 存储服务—支...
·
为什么选consul
Spring Cloud 支持的服务发现软件以及特性对比:
Feature | euerka | Consul | zookeeper | etcd |
---|---|---|---|---|
服务健康检查 | 可配支持 | 服务状态,内存,硬盘等 | (弱)长连接,keepalive | 连接心跳 |
多数据中心 | — | 支持 | — | — |
kv 存储服务 | — | 支持 | 支持 | 支持 |
一致性 | — | raft | paxos | raft |
cap | ap | ca | cp | cp |
使用接口(多语言能力) | http(sidecar) | 支持 http 和 dns | 客户端 | http/grpc |
watch 支持 | 支持 long polling/大部分增量 | 全量/支持long polling | 支持 | 支持 long polling |
自身监控 | metrics | metrics | — | metrics |
安全 | — | acl /https | acl | https 支持(弱) |
spring cloud 集成 | 已支持 | 已支持 | 已支持 | 已支持 |
docker 安装 consul
1、拉取镜像
docker search consul
docker pull consul
2、启动镜像
docker run -d --name consulserver1 --net=host -e'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -server -bind=10.1.54.162 -bootstrap-expect=1 -client 0.0.0.0 -ui
–net=host docker参数, 使得docker容器越过了netnamespace的隔离,免去手动指定端口映射的步骤
-server consul支持以server或client的模式运行, server是服务发现模块的核心, client主要用于转发请求
-advertise 将本机私有IP传递到consul
-bootstrap-expect 指定consul将等待几个节点连通,成为一个完整的集群
-retry-join 指定要加入的consul节点地址,失败会重试, 可多次指定不同的地址
-client consul绑定在哪个client地址上,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1
-bind 该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0
-allow_stale 设置为true, 表明可以从consul集群的任一server节点获取dns信息, false则表明每次请求都会经过consul server leader
--name DOCKER容器的名称
-client 0.0.0.0 表示任何地址可以访问。
-ui 提供图形化的界面。
3、验证是否成功
更多推荐
已为社区贡献1条内容
所有评论(0)