首页 > 国际新闻

后台架构的演变

文章作者:来源:www.guiavv.com时间:2020-03-11



代码农民小光的文章记录?独立架构

first evolution:独立于数据库部署的Tomcat

second evolution:引入本地缓存和分布式缓存

third evolution:引入反向代理来实现负载平衡

first evolution:将数据库读写分离

fifth evolution:根据服务将数据库划分为多个数据库

fifth evolution:将大表划分为小表

fifth evolution:使用LVS或F5来负载平衡多个Nginx

fifth evolution:通过DNS轮询实现机房负载平衡

9th evolution:引入NoSQL数据库和搜索引擎等技术

10th evolution:将大型应用程序拆分为小型应用程序

11th evolution:将重用功能分离为微服务

12th evolution:引入企业服务总线ESB以屏蔽服务接口的访问差异

13th evolution:引入集装箱化技术以实现操作环境隔离和动态服务管理

14th evolution:云平台承载系统

summary :

IaaS:基础设施即服务。 对应于上述机器资源统一为一个整体,硬件资源可以动态应用的层次;

PaaS:平台即服务。与上述相对应,提供通用的技术组件有利于系统的开发和维护;

SaaS:软件即服务。与上述开发应用或服务的提供相对应,应根据功能或性能要求进行支付。

到目前为止:从上面提到的高并发访问问题到服务架构和系统实现级别,都有各自的解决方案。但与此同时,应该认识到,在上述介绍中,诸如跨机房的数据同步和分布式事务的实现等实际问题被有意忽略了。这些问题将在以后单独讨论。

4。架构设计概要

1)架构的调整是否必须遵循上述演进路径?不,上面提到的体系结构进化的顺序只是某一方面的一个改进。在实际场景中,可能有几个问题需要同时解决,也可能是另一方先到达瓶颈,需要根据实际问题解决。例如,在政府类的并发量可能很小但业务可能非常丰富的情况下,高并发性不是要解决的关键问题。此时,具有丰富需求的解决方案可能是优先考虑的。2)架构应该为要实现的系统设计到什么程度?对于一个只实现一次并有明确性能指标的系统,设计体系结构来支持系统的性能指标要求就足够了,但是扩展体系结构的接口应该留给应急。对于持续开发的系统,如电子商务平台,它们的设计应满足下一阶段用户量和性能指标的要求,架构应根据业务增长进行迭代升级,以支持更高的并发性和更丰富的业务。3)服务器端体系结构和大数据体系结构有什么区别?所谓的“大数据”实际上是场景解决方案的通称,如海量数据收集、清理和转换、数据存储、数据分析、数据服务等。在每个场景中,都包含了各种可选的技术,如水槽、Sqoop、水壶等。在数据收集方面,HDFS、快速发展金融服务公司、NoSQL数据库、蒙古数据库等。用于数据存储、火花技术堆栈、机器学习算法等。用于数据分析。一般来说,大数据架构是根据业务需求集成各种大数据组件的架构,一般提供分布式存储、分布式计算、多维分析、数据仓库、机器学习算法等功能。服务器端体系结构更多地是指应用程序组织级别的体系结构,而底层功能通常由大数据体系结构提供。4)建筑设计有什么原则吗?

N 1设计:系统中的每个组件都不应有单点故障;

回滚设计:确保系统可以向前兼容,并且在升级系统时应该有回滚版本的方法;

禁用设计:应提供一个配置来控制特定功能是否可用,以便在系统出现故障时能够快速脱机;

监控设计:监控手段应考虑在

非核心购买:如果非核心功能需要占用大量研发资源来解决,考虑购买成熟产品;

使用商用硬件:商用硬件可以有效降低硬件故障的概率;

快速迭代:系统应该快速开发小功能模块,尽快上线验证,尽快发现问题,大大降低系统交付的风险;

无状态设计:服务接口应该是无状态的,并且当前接口的访问不依赖于最后访问的接口的状态。

Author: Code Farmer小光

Link:

Source:Brief Book

版权归作者所有。对于商业重印,请联系作者获得授权。对于非商业重印,请注明来源。

-