《架构之美》阅读笔记02
《架构之美》——伸缩性架构设计。在设计系统架构时,确保系统在伸缩时的弹性是非常重要的,特别是在当今互联网发达的时代。伸缩性是一种对软件系统计算处理能力的设计指标,它代表的是一种弹性,在系统扩展成长过程中,软件能够保证旺盛的生命力,通过很少的改动甚至只是硬件设备的添置,就能实现整个系统处理能力的线性增长,实现高吞吐量和低延迟高性能。一些大型网站和一些大型虚拟游戏,都是需要承受很多很多人同时在线的能力的。所以伸缩性的好坏就决定着这些系统是否能正常运行,伸缩的能力就成为了该系统架构的首要需求。就如Darkstar项目首要目标把系统视为一台单机,运行着一个线程,所有允许部署到多线程和多计算机上的机制都因该由Darkstar项目的基础设施来考虑。另一个目标就是支持随时伸缩,同时不要求游戏逻辑收到伸缩的影响。该架构应该支持游戏动态地响应负载,而不是让这种响应成为游戏设计工作的一部分。
记忆留存。功能和约束影响了系统的架构,它必须做什么?它必须在什么限制条件下工作?着两点也确定了问题空间。当我们研究每一个脚骨关注点时,要记住它们是研究整个系统的不同方式。
面向资源的架构,在Web中。面向资源的架构的英文是Resource-Oriented Architecture,简称ROA。在企业中聚焦信息的架构展示了与Web一样的明确特点:伸缩性、弹性、架构迁移策略、信息驱动的访问控制等。业务部门有权利根据业务需求来决定资金投入和软件开发,而不是简单地因为选择容易失效的技术而要求业务部门为不断的改变付费。多数组织机构内部数据的交流与使用常常有这样或那样的问题,而不能像Web一样,简单方面的获取到大量的信息,我们也可以从Web获得启发,更好的管控内部数据。Web服务的目标是要成为一种业务策略,成为一种方式,让我们能够在一些地方定义功能,在任何地方、以各种编程语言异步地访问这些功能。
Facebook(Facebook是美国的一个社交网络服务网站 ,于2004年2月4日上线,于2012年3月6日发布Windows版的桌面聊天软件Facebook Messenger(飞书信)。主要创始人为美国人马克·扎克伯格。Facebook是世界排名领先的照片分享站点,截至2013年11月每天上传约3.5亿张照片。Facebook是个典型的围绕数据建立架构的例子,无论是功能还是内容,每个人的数据给这一网站带来了价值。我们要全部改进如何协调不断扩展的数据访问方法和容器网站的语气,特别是对数据一隐私和站点体验集成方面的要求。