解决方案架构师修炼之道
上QQ阅读APP看书,第一时间看更新

4.8 考虑数据驱动的设计

任何软件解决方案都是围绕数据的收集和管理而展开的。以电子商务网站为例,其目的是在网站上展示产品数据,并吸引客户购买它们。当用户注册登录、添加付款方式时系统就开始收集客户数据了,然后存储订单交易数据,并在产品卖出后维护产品库存数据。另一个例子是银行应用程序,它存储客户的财务信息,并按照完整性和一致性要求处理所有财务交易数据。对任何应用程序来说,最重要的就是合理地处理、存储和保护数据。

在上一节中,你了解了不同的数据类型及其存储需求,这将有助于你在设计中运用数据思维。解决方案的设计在很大程度上受到数据的影响,因此牢记数据将有助于设计正确的方案。如果应用程序需要超低延迟,那么在设计解决方案时就需要使用诸如Redis和Memcached之类的缓存。如果网站需要缩短炫酷的高清图像加载时间,那么需要使用诸如Amazon CloudFront或Akamai之类的CDN在用户位置附近存储数据。同样,为了提高应用程序性能,你需要了解数据库是读密集型(例如博客网站)还是写密集型(例如收集调查问卷结果),并进行相应的规划设计。

不仅是应用程序的设计,运维和业务决策也是围绕数据展开的。你需要添加监控功能,以确保应用程序以及业务的正常运转,不会发生任何问题。对于应用程序监控,你可以从服务器收集日志数据并创建仪表盘以可视化指标。

持续地监控数据并在发生问题时发送告警可以触发自动修复机制,帮助你从故障中快速恢复。从业务角度来看,采集销售数据可帮助你更好地推进市场营销活动以增加整体营收。分析评论和感想数据有助于改善用户体验并留住更多客户,这对任何企业都是至关重要的。收集全面的订单数据并将其提交给机器学习算法可帮助你预测未来订单的增长情况并维持所需的库存。

作为解决方案架构师,你不仅要考虑应用程序设计,还要考虑整体的业务价值定位,这与应用程序的其他因素息息相关,它有助于提高客户满意度并最大化投资回报率。数据就是黄金,对数据的深入了解可以极大地提升组织的盈利能力。