目录
目标
阐述个人对服务治理的理解并列举可选工具。
问题
服务作为治理对象,如何知晓有哪些服务对象?
什么是治理?
治理要达到什么目标?
为达目标可采取什么措施?
思考
明确这里讨论的服务指的就是应用暴露的业务服务接口。
无论服务使用什么方式暴露(RPC或RestFul),皆可采用服务发现机制,以解决知晓服务的问题。在服务框架选型时,基本都会考虑这一点,如dubbo、eureka。
另一方面,服务规范也需要以一种可管理的方式进行体现。如针对RestFul服务可采用swagger。
服务治理,从字面理解即为对服务进行管理。
管理的过程,希望能清晰直观的得知管理对象是否正常。得知方式可主动亦可被动。在不正常时,同样希望直观简洁的找到原因并加以解决。
为了达到上述目标,需要结合服务的可用性、性能、日志等信息,进行监控、预警、追踪、解决,甚至自治。
目前已经清楚服务治理需要做什么事了,接下来就是找合适的工具去承担或协助完成这些工作。
服务发现
- dubbo、eureka
服务规范
- swagger
监控
- springboot提供指标支持
- 需要与actuator配合
- actuator的第三方监控工具的支持
- 主机可用性监控与预警
- 分析与监控的可视化工具
- 服务可用性与性能监控
- 日志
措施
- 限流、熔断
- 定位问题
- kibana
监控工具种类众多,不局限上述列举条目,选择熟悉的合适的即可。