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-
   106   107   108   109   110   111   112   113   114   115   116