consul是一种分布式管理工具。主要可以作为服务发现或分布式配置工具来使用。此处默认您已经安装好consul并启动,请顺便启动ui模块(consul agent -dev -ui),方便后续查看调试。
1、服务注册有什么用?通俗来讲,就是可以知道你有多少种服务在用,是否可用(consul有服务监控检查)。服务集群有哪些节点。其次是API网关可以通过服务中心获取到服务转发的地址。例如consul有个服务的集群名字为user-groups,我们要访问这个集群的api接口,接口的endpoint为/user/info。通过zuul可以这样访问:直接访问 http://<zuul host>:<zuul port>/user-groups/user/info。zuul会通过consul自己找到该转发的api地址。
2、分布式配置工具,则是将配置存在内存中,你的项目可以在不重启的情况下,读取一个可以动态改变的配置的值。
以下为一个Flask微服务的Demo,可以自动使用gunicorn启动并注册到consul。支持RPC和Restfull API等项目。欢迎Star。
Github demo: https://github.com/lyy8510a/ms2consul_demo
以下为python