这是我参与 第五届青训营 伴学笔记创作活动的第7天。
重点内容
本节课主要围绕一个蛋糕店运营的小例子,讲述了架构的基本概念并逐步完善架构设计图,没有涉及代码细节,只是让同学们对架构有个初步的理解和认识。
什么是架构
架构是有关软件整体结构与组件的抽象描述。划重点,就是个抽象的概念...
用于指导软件系统各个方面的设计。说人话,就是实现一个软件的方法。
架构的重要性
架构相当于一个软件系统的地基,地基扎实了,大厦才能盖得高。设计架构的时候,可以参考优秀开源社区的架构设计思路,结合实际业务场景进行架构设计,站在巨人肩膀上,才能看得远。
我们来以蛋糕房的业务场景来理解架构。
假如你要开一个蛋糕房,你要考虑什么,简单来说就是做和卖。作为老板兼蛋糕师傅,你设计的架构应该是这样。
这就是最普通的单机架构,适用于业务刚刚开始,客流量不大的情况,自己一个人又做又卖,不用雇人,减少成本,美哉!用官方的话来说,就是把所有功能都实现在一个进程里,并部署在一台机器上。
优点就是简单、省钱!
问题是运维需要停服 (啥意思?)你一个人又是做又是卖,客流量一大顾不过来怎么办,万一你去吃饭上厕所了,又来客人来消费怎么办?总结一句话就是,如何卖更多的蛋糕?
一个人顾不过来,那多雇几个蛋糕师傅呗!
这时候,我们的单体架构:分布式部署应运而生。