需求:
目前项目里有各种dubbo接口,希望去生成一些调用的监控数据,用于分析服务或业务的执行情况。
方案:
- 第一步:【业务系统】,dubbo里面提共了SPI机制,编写自定义fitler,创建dubbo的代理类时,会添加这个过滤器,做请求拦截。
- 第二步:然后把调用时长、服务名、业务域、参数列表、调用来源等数据,封装成消息,通过rocketMq发送消息给【分析系统】
- 第三步:在【分析系统】中,做数据统计,分析各个业务域的接口的稳定情况、业务高峰、高频参数等指标。
请问以上方案是否可行?有没有什么可优化的地方,或者有没有现成的替代方案。
因为业务希望可定制化程度高,所以偏向于自己开发一下。
你的方案可以,Dubbo的SPI机制和RocketMQ可以实现你的需求。分析系统你可以用一些工具来实现,可以减少开发工作量,比如这几个工具:Spark、Flink、Hadoop