本文持续更新
1.什么是架构
什么是架构?,架构是对你的业务场景模型的一个抽象出来的一个骨架,既是架构,架构没有最优只有最合适,当业务场景(员工水平,人力资源,项目工期,但时的性能要求)进行改变时,你的架构模型也会发生相对应的变化
2.架构的本质
为什么要有架构,架构的目的是降低成本,提升效率。 成本分为3方面,首先是人力成本,其次是资源成本,最后是沟通成本。
3.思考如何去设计架构
从以下几个方面去思考整体的一个架构:
1.性能,你的应用或者业务场景对性能的要求是什么,更具性能要求和应用场景来进行技术选型和服务的部署架构
2.扩展性,业务是随着产品或者公司战略来做不断调整的,此时则需要对核心业务和边缘业务进行抽象,来面对业务需求的迭代和更新。随着公司的业务的发展,架构也会进一步的进行演变,如某运动app的功能埋点功能,从年初3w DAU到2000w DAU,此时单机部署不再能满足当时的并发量,此时为了进行流量分流,会部署多个服务来进行分摊,也就是从单点走向了分布式。单个接口的压力问题解决了,但是此时数据库的读写能力成了并发的瓶颈,用户使用高峰期则很可能出现,此时的你的整体架构则需要进行该变,如在网关层加入mq去进行流量消峰。这是对架构层次的扩展
3.高可用,高可用考虑的式保证服务的24小时持续服务的能力,不能因为某台服务器的意为宕机而导致服务中断。从服务的自动化扩容和多活架构去考虑解决问题。
4.安全,安全方面更多的式关注业务逻辑上的漏洞,因为一次巨额转账导致公司game over ,向去年年底的拼多多蓐羊毛事件。在部署方面在云服务商一般都提供了比较完善的防御模式,
5,低成本,成本包括人力成本,时间成本和沟通成本,架构的本质式降本提效,所以在设计架构䣌同事
6.规模,规模需要从业务方面的规模和部署上边的规模去考虑。随着公司的发展,业务的规模也会不断的扩大。这也为导致整个集群业务的扩大
特别鸣谢:孙玄老师