##
microservice-app
微服务架构实战demo, 使用 go 语言技术栈,包含如下组件:
1.
服务注册中心 [etcd](https://github.com/coreos/etcd)
2.
Api 网关
3.
Feed 服务
4.
Profile 服务
5.
Topic 服务
6.
监控组件: prometheus + grafana
7.
跟踪组件: zipkin + elasticsearch
其中Feed, Profile, Topic 启动时会向etcd注册服务, Apigateway 通过调用这三个服务的客户端 Watch 到相应服务的注册Key, 同时得到服务的地址. 当服务实例个数动态伸缩时, Apigateway 也会实时响应变化。
项目目前可以docker-compose和vagrant方式部署,包含了部署细节,供大家参考。
本人在听了很多关于微服务的讲座,看了很多微服务的文章,但总感觉一知半解。希望通过动手练习来加深对微服务架构的理解,欢迎大家一起讨论。对于项目中的不足之处,也欢迎大家指正。