如何熟悉一个新业务,一个新服务。我们可以从以下几点入手。
业务是基于数据之上的逻辑,接手到新业务,可以先列举该服务/业务使用的是什么存储方式?mysql,es,redis等等
数据的结构是什么样子的?分析数据库中数据结构,从数据结构开始向上分析数据有什么业务方在用,每个数据字段的数据源是页面操作,还是离线任务跑出来的。每个数据字段的计算逻辑,露出逻辑是怎么样的。
服务依赖的资源有:
中间件:消息队列等。mq在传递什么内容的数据,发送方是谁,在什么时机触发消息发送。接收方接收后有什么后续操作,记数据库还是打日志。
下游服务:如他人提供的dubbo接口。接口的出入参是什么?接口用来查询什么信息。dubbo接口提供方从何收集到这些数据
服务可能向外提供mq消息,dubbo接口,http接口,或者将自己的数据库数据给到上游使用。
mq消息:mq在传递什么内容的数据,发送方是谁,在什么时机触发消息发送。接收方接收后有什么后续操作
dubbo接口:接口的出入参是什么?接口用来查询什么信息。从何收集到这些数据?是查询自己数据库还是查询下游服务
http接口:接口的出入参是什么?接口用来查询什么信息。从何收集到这些数据?使用该接口的页面在哪里,可以仔细分析页面哪些按钮点击会调用哪些接口,体验一下页面操作流程
将自己的数据库数据给到上游使用:一般不将自己的数据库给上游使用,使用的话要了解上游用此信息做什么
以上主体框架理完之后,可以开始看每个dubbo接口,mq消费逻辑,mq发送逻辑,http接口的逻辑实现,画出复杂核心流程的流程图,很耗费时间但是看完之后就对服务有个整体认识了。
所有事情看到之后,理出业务依赖图及数据流图。通过对上下游的了解,了解自己的业务处理什么数据,自己的业务处理的数据在哪里使用。