Page 111 - 《软件学报》2021年第5期
P. 111
晋武侠 等:基于多源特征空间的微服务可维护性评估 1335
这 3 条 trace 对应的业务逻辑下的服务间的交互复杂度偏高.通过检查这 3 条 trace 数据,发现这 3 条 trace 主要
处理用户的订票请求,由 ts-preserve-service 接受用户请求,检查安全性(调用 ts-security-service),查询确定行程信
息(调用 ts-travel-service)、站点路径(调用 ts-station-service)、票价(调用 ts-ticketinfo-service)、座位(调用 ts-seat-
service)、保险(调用 ts-assurance-service)、订餐(调用 ts-food-service)、托运行李(调用 ts-consign-service)等等.
可见:ts-preservice-service 完成功能时涉及的业务逻辑比较复杂,须调用诸多其他微服务完成功能,因而与其他
微服务间存在较高的交互复杂性.
(a) isg、icl 值的箱线图
(b) isg 值的曲线图
(c) icl 值的曲线图
Fig.6 Measurements of isg, icl for microservices in Train-Ticket system
图 6 Train-Ticket 系统中微服务的 isg、icl 度量结果
总结上述度量结果得出:在 Train-Ticket 系统中,与其他微服务相比,ts-preserve-service 的模块性和可修改性
相对偏低(见 chm、chd、rei 值)、交互复杂性偏高(见 isg、icl 值);ts-travel2-service(ts-travel-service 与其类似)
可修改性偏低(见 rei 值)、交互复杂性偏高(见 idd、odd、SCN 值);ts-order-other-service(ts-order-service 与其类
似),ts-admin-basic-info-service 的交互复杂性偏高(见 idd、odd、SCN、icl、isg 值).
由于 chm、chd、ifn、icf、ecf、rei、idd 以及 odd 是针对每个微服务度量,而其他指标(如 SCN、icl、isg)
的度量对象不是微服务,因此合并 chm、chd、ifn、icf、ecf、rei、idd、odd 的值,得出每个微服务可维护性的综
合得分 score,结果如图 7 所示.可观察到:上述 ts-preserve-service、ts-travel2-service(ts-travel-service)、ts-order-