微服务:非功能质量需求的概述。

本节讲解核心非功能质量指标,主要体现在高性能、高可用、可伸缩、可扩展、安全性等方面,并讲解其他功能质量指标,例如:可测试性、可监控性等,读者可以参考这些质量指标,来保证系统架构设计满足用户和系统对非功能质量的需求。
核心非功能指标如下表所示。

核心非功能质量指标 描述
高性能

运行效率高、性价比高

可用性 持续可用性、缩短宕机时间、出错恢复、可靠性
可伸缩性

垂直伸缩、水平伸缩

可扩展性 可插拔、组件重用
安全性 数据安全、加密、熔断、防攻击

这里,对于一个线上服务,高性能通常指单节点服务的吞吐量和响应时间;可用性以全年时间减去当前的宕机时间,并用得到的差值除以全年时间计算得出,通常是表明服务质量的最核心的指标;可伸缩性指横向扩展的能力,也就是随着节点的增加,服务能力能够随着节点增加而线性增加,如果不能,则也可以使用百分比来衡量;可扩展性通常指架构上的灵活性及可插拔性,将来可以不断地在系统上叠加新业务和新功能,读者一定要区分可伸缩性和可扩展性;安全性指系统的安全保护措施,要防止攻击和数据泄露等。

其他非功能指标如下表所示。

其他非功能质量指标 描述
可监控性 快速发现、定位和解决
可测试性 可灰度、可预览、可Mock、可拆解
鲁棒性 容错性、可恢复性
可维护性 易于维护、监控、运营和扩展
可重用性 可移植性、解耦
易用性 可操作性

这里,可监控性是非常重要的,一个线上服务如果没有监控系统,那么系统的可用性就没法保障,监控系统可以帮助开发人员和应急人员快速发现问题;可测试性指我们开发的服务一定要在不同的阶段有相应的方法和途径来测试,包括QA测试、准生产测试和生产测试等;对于不具备测试条件的系统使用Mock等方式来解决;鲁棒性表明系统的容错性、健壮性和可恢复性;可维护性指系统要易于监控、运营和扩展;可重用性指系统具有模块话、可移植、可通过迭代增加新功能的特性;易操作性指系统对用户友好,方便系统的各类用户使用。

猜你喜欢

转载自blog.csdn.net/en_joker/article/details/89841085
今日推荐