涉及到部分应用,需要有docker、docker-compose作为基础环境的搭建,不会的可以直接拿项目的docker-compose.yaml进行构建项目地址
consul介绍
- 服务发现:通过DNS或者http接口进行服务注册和发现
- 健康检查:
- 动态配置:通过http接口可以方便的动态修改系统配置
- 安装
- curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
- sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
- sudo apt-get update && sudo apt-get install consul
- 启动 consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -node=ali -bind=192.168.169.150 -ui -client=0.0.0.0
- server 表示启动的为服务
- bootstrap-expect 1 表示 等待多少个节点再启动,1表示有自己一个就启动
- node= 表示给consul服务起名
- bind=xx 绑定内网ip,最好写机器的ip,最好不要写0.0.0.0
- data-dir 数据存储位置
- ui启动ui界面
- client consul绑定到哪个client地址上。这个地址提供http dns rpc服务。默认为127.0.0.1 可指定语序客户端使用什么ip访问
- 服务注册
- curl -XPUT -d '{"ID":"order_1","Name":"order","Tags":[
"xdp-/core.order"],"Address":"192.168.232.201","Port":18307,"Check":{"name":"order_1.check","tcp":"192.168.232.201:18307","interval":"10s","timeout":"2s"}}' http://127.0.0.1:8500/v1/agent/service/register - Name 服务名
- ID 服务id
- curl -XPUT -d '{"ID":"order_1","Name":"order","Tags":[
- 查询服务
- curl 192.168.232.204:8500/v1/health/service/order?dc=xdp_dc&passsing=true
- dc: 数据中心是xdp_dc 存储信息记录
- passing: 表示健康监测通过
- 服务注销 删除
- /v1/agent/service/deregister/order_1
- 某个服务增加了机器以后,注册,客户端请求时,会查询服务进行请求