架构的提出主要就是解决人的问题,比如:
支付宝逻辑数据中心架构解决了:
1.尽量减少了跨单元交互和使用异步化,使得异地部署成为可能。
2.实现N+1的异地灾备策略,大大缩减灾备成本,同时确保灾备设施真实可用。
3.大大提升了整体的高可用性。
4.基于该架构,线上压测、流量管控、灰度发布等以前难以实现的运维管控模式,现在能够十分轻松地实现。
分布式数据架构:消费记录数据库集群,提供消费者更好的用户体验和需求;商户查询数据库集群,提供商户更好的用户体验和需求;数据可靠性等
(一)什么是架构?
1、根据要解决的问题,对目标系统的边界进行界定。
2、并对目标系统按某个原则进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。
3、并对这些切分出来的部分,设立沟通机制。
4、根据3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。
(二)如何设计架构
1.架构的设计要考虑行业要求,比如支付宝的架构设计上应该考虑互联网金融业的特殊性(要求更高的业务连续性,更好的扩展性更快速的支持新业务发展对的特点)
2.整体的架构设计方案和策略
3.支持技术工作的各种基础中间件和基础组件(决定作用)
4.通过实践锻炼成长起来的技术人员(决定作用)
(三)感想
1.架构的设计首先要从人为出发点,对于软件从事者来说,要以用户的客观体验为出发点,解决软件存在的问题。设计架构就是使软件更加地灵活开发和使用。
2.系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。
3.一个好的架构师应该是通过实践锻炼成长起来的技术人员,首先要能掌握基本的理论和技能。
4.一个好的架构要跟上时代的要求,进行不断地优化
5.最重要一个好的架构要以人为出发点,结果落实到人上去
参考https://www.infoq.cn/article/an-informal-discussion-on-architecture-part01和https://mp.weixin.qq.com/s?__biz=MzAwNjQwNzU2NQ==&mid=401735445&idx=1&sn=0f8cc086e413332fddad5b05f0363a7e&scene=21#wechat_redirect