当你有这么多服务时,假设有50多个服务,你想知道服务之间的关系,例如,你想了解哪些服务彼此之间有硬依赖关系,哪些服务彼此有软依赖关系,这意味着当一个服务停下来不再工作时,哪些其他服务将无法工作。基本上,为了提供一定级别的高可用性和正常运行时间(SLA(,我们也需要它。此外,当一个新人加入团队时,应该有一些文档来查看我们有什么服务以及依赖树是如何的。他们有什么关系?只是通过消息代理发送消息还是直接请求?这些服务是在测试环境中工作还是在生产环境中工作?还是两者兼而有之?有什么工具和软件可以帮助我们解决这个问题。
我刚才也在研究这个问题。特别是对服务之间的依赖关系进行建模。
在我看来,你可以进入两个方向
- 服务注册表
- 配置管理数据库
有很多完整的服务注册表,它们不仅是静态文档,而且服务本身也在服务注册表中注册,其他人可以在那里自动向用户发现服务。
- Eureka与Netflix开源堆栈(Netflix OSS(相关
- 领事
- 动物园管理员
- Etcd
对我来说,服务注册表选项可能很复杂,我正朝着简单的CMBD 的方向发展