
可编程网关 Pipy 第二弹:编程实现 Metrics 及源码解读
由于要给团队做一下关于 Flomesh 的分享,准备下材料。
“分享是最好的学习方法。”
上一回初探可编程网关 Pipy,领略了 Pipy 的“风骚”。从 Pipy 的 GUI 交互深入了解了 Pipy 的配置加载流程。
今天看一下 Pipy 如何实现 Metrics 的功能,顺便看下数据如何在多个 Pipeline 中进行流转。
前置
首先,需要对 Pipy 有一定的了解,如果不了解看一下上一篇文章。
其次构建好 Pipy 环境,关于构建还是去看上一篇文章。
Metrics 功能实现
至于 Pipy 实现 Metrics 的方式,源码中就有,位于 test/006-metrics/pipy.js。

- 代理监听
6080端口,后端服务在8080端口,Metrics 在9090端口 - 共有 5 个 Pipeline:3 个 listen 类型,2 个 Pipeline 类型
- 7 种过滤器:
fork、connect、decodeHttpRequest、onMessageStart、decodeHttpResponse、encodeHttpRespnse、replaceMessage
贴一下源码:

