标签:src 有序性 loading crm web服务器 部分 img 成本 用户
架构的出发点是业务和技术在不断复杂化,引起系统混乱,需要通过架构来保证有序
放在软件系统演化也适用,系统里不停地添加业务功能,如果事先不做良好的设计,随着时间的推进,整个系统野蛮生长,就会逐渐碎片化,越来越无序,最终被推倒重来。
自然界中的生物可以通过和外界交互,主动进行新陈代谢,制造“负熵”,也就是降低混乱程度,来保证自身的有序性,继续生存
例如,植物通过光合作用,把光能、二氧化碳和水合成有机物,以此滋养自己,延续生命。
对于软件系统,我们也可以主动地调整系统各个部分的关系,保证系统整体的有序性,来更好地适用不断增长的业务和技术变化。
架构实现从无序到有序,基本手段就是“分”与“合”
三室一厅而不是大开间、两菜一汤而不是三下锅
屋子和书房原先用一堵墙分开,但是看书需求太强烈,直接把墙拿了,合成一个
好的架构应该有如下特点
讲清楚核心业务的处理过程,定义各个业务模块的相互关系,从概念层面帮助我们理解系统面临哪些问题以及如何处理
电影的故事情节和场景安排
讲清楚系统内部是怎么组织的,有哪些应用,相互间怎么调用的,它从逻辑层面帮助我们理解系统内部是如何分工与协作的
电影里有定义有哪些角色,每个角色有哪些职责,在每个场景中,这些角色是如何互动的。
讲清楚系统由哪些硬件、操作系统和中间件组成,如果和我们开发应用一起配合,应用各种异常情况,保持系统的稳定可能
角色应该由谁来演,物理场景怎么布置,以此保证拍摄能顺利进行
总之:
CAP理论,系统的可用性、一致性和网络容错性,三个最多只能保证两个,在分布式系统的情况下,我们只能在C和A中选一个
工具层面的复用
对各个业务领域的数据和业务规则进行封装,将它变成上层应用系统可以直接使用的业务组件
把多个业务实体串起来,完成一个端到端的任务。
比如说,下单流程需要访问会员、商品、订单、库存等多个业务,如果我们把这些调用逻辑封装为一个下单流程服务,那下单页面就可以调用这个流程服务来完成下单,而不需要去深入了解下单的具体过程
标签:src 有序性 loading crm web服务器 部分 img 成本 用户
原文地址:https://www.cnblogs.com/chenqionghe/p/13384567.html