python consul微服务_微服务化二:consul

微服务化第一步,应该选择一个服务管理和注册工具,否则就无从谈起,经过筛选和测试,选择consul作为服务发现和注册工具

consul是一个提供服务发现和注册的工具,为啥选这个,好处后面个人自己体会。

为啥要注册和发现呢,因为微服务化后,各个业务模块和功能模块会被拆分的足够小,提供单一服务,其他地方调用这个服务就得写服务地址,一旦变更和部署多几台机器,所有相关业务都得改,所有得有个管理中心把所有服务管理起来,大家都去那里获取真实服务地址,而且他是和容易做集群,不用担心扩展问题

安装consul

测试机 centos7. ip: 192.168.0.170

我选择的docker安装,既然微服务化了,没有个可隔离易部署的环境那可不行,docker很好的完成了这项工作,让我们每个拆分的业务很容易的进行部署和扩展。docker的安装自行百度,

consul的安装还是折腾了一点时间docker run -d -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' -p 8500:8500 --name=consul consul agent -server -bootstrap-expect=1 -node=node1 -client=0.0.0.0 -ui

我只有1台linux虚拟机,所以都用的虚拟地址。就没映射其他端口,8500是因为要ui界面。

查看下是否创建容器成功docker ps

如果看到我们刚才创建的 consul,说明成功,如果没有,运行docker logs consul

看看错误,然后排查下192.168.0.170

启动完成后,访问主机ip,http://192.168.0.170:8500/ui,可以查看管理界面

查找consul容器ip,因为我是用的一台机器测试,所以,直接用这个ip就可以进行服务注册,多台主机或者虚拟机,请-p的时候把docker inspect --format '{{ .NetworkSettings.IPAddress }}' consul

这里有个小提示:ifconfig的时候看下docker的虚拟ip是多少,这个地址就是容器调用主机的地址其他端口加上-p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -p 8600:53/udp

consul api文档地址:https://www.consul.io/api/index.html

ok,到此,我们的服务注册和发现功能已经完成。 你是不是发现还是不清楚它到底怎么用?别急,后面请看后面系列文章

命令备忘

删除服务//查询服务

curl http://172.17.0.2:8500/v1/agent/services

//获得想删除的service的ID

curl --request PUT http://172.17.0.2:8500/v1/agent/service/deregister/service-user-services

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值