-
Notifications
You must be signed in to change notification settings - Fork 547
LinShunkang edited this page Jul 27, 2018
·
8 revisions
随着笔者所在公司的发展,应用服务的规模不断扩大,原有的垂直应用架构已无法满足产品的发展,几十个工程师在一个项目里并行开发不同的功能,开发效率不断降低,于是公司开始全面推进服务化进程,把团队内的大部分工程师主要精力全部都集中到服务化中。 服务化可以让每个工程师仅在自己负责的子项目中进行开发,提高了开发的效率,但是服务化同时也带来了其他问题:
- 无法知道每个服务的运行情况,例如,某一台服务它目前的QPS是多少?它的平均延迟是多少,99%的延迟是多少,99.9%的延迟又是多少?
- 某一个接口响应时间慢,如何定位是哪个方法引起的?
- 每个服务的负载是否均衡?
- 当服务出现抖动时,如何判断是DB引起的还是由Cache引起的?
- Cache响应延迟是多少?
- 如何评估服务的容量,随着服务的调用量越来越大,这个服务需要多少机器来支撑?什么时候应该加机器?
笔者所在公司是利用Dubbo作为RPC框架,Dubbo提供了SimpleDubboMonitor作为服务的监控工具,但是SimpleDubboMonitor有以下几个缺点:
- 只提供了QPS、Sum、Avg、Max等监控指标
- 监控指标是以集群的方式展示,无法知道每个Provider的运行情况
为了解决上述的问题,我们需要一个工具来帮助我们监控服务的运行情况以及快速定位问题。
* Home
- Chinese-Doc
-
English Doc
- MyPerf4J
- Time Series Database
- Log Collector
- Visualization Platform