以下只是一个简单的说明,详细的还需要查看代码的处理
1.x 的架构
可以看到依赖的组件是比较多的
2.x 的架构
- pmm client
整体上与1.x 类似,基本没变,只是对于query 的部分,统一通过一个pmm-agent处理了,这样整体通信
就更清晰了,同时也实现了统一化
- pmm server
与1.x 相比就多多了,比如我们没看到consul了,同时数据分析部分我们看到了clickhouse(加速分析的),整体api
的处理更清晰了,统一接入通过nginx 处理,同时提供了一个pmm-managed(grpc 服务,当然也基于grpc gateway
也暴露了rest api) 的组件,
说明
pmm 2.x 的开发还是基于vendor模式的,有空了可以研究下具体的实现
参考资料
https://www.percona.com/doc/percona-monitoring-and-management/2.x/index.html
https://www.percona.com/doc/percona-monitoring-and-management/architecture.html
https://www.percona.com/blog/2019/09/19/installing-percona-monitoring-and-management-pmm-2-for-the-first-time/
https://www.percona.com/blog/2019/09/19/percona-monitoring-and-management-pmm-2-ga-is-now-available/