分析需求
1、功能性需求
数据收集、数据计算、Dashboard看板
2、非功能性需求
- 易用性
- 可用性
- 性能
- 持久性
技术选型
已有的轮子:
zipkin、pinpoint、点评cat、APM 、ELK
自己定制轮子:
可选的解决方案:
技术实现(优雅落地)
我们采用两种方式的实现
1、侵入式的
我们可以实现单独的SDK
那么用什么技术实现呢,有下面三个
- Spring AOP
- SpringMVC intercepter
- filter
本着杀鸡焉用牛刀的原则,我们可以使用SpringMVC intercepter 或者filter
如果是遗留系统,没有使用SpringMVC ,则只能使用filter了
那么拦截器代码怎么实现呢?
MonitorInterceptor类