当前位置:网站首页>架构篇(二)架构的复杂度来源
架构篇(二)架构的复杂度来源
2022-08-11 02:07:00 【林木森^~^】
上一篇我们谈到,架构的本质就是解决业务和技术变化带来的复杂性。
那这一篇我们来谈一下复杂性到底来自于哪里。
业务复杂性
系统首先要满足当前的业务需求,在此基础上,还要满足将来的业务需求,因此系统要能不断地扩展变化,包括调整现有功能,以及增加新功能。
而且,系统的功能变化不能影响现有业务,不要一修改,就牵一发动全身,到处出问题。因此,在架构设计上,要做到系统的柔性可扩展,能够根据业务变化做灵活的调整。
此外,市场不等人,上新业务要快,之前花了半年上了个业务,这回再上个类似的新业务,需要短时间就能落地。因此,架构设计上,还要做到系统功能的可重用,这样才能通过快速复用,实现业务敏捷和创新。
技术复杂性
要保证一个业务能正常运行,除了满足业务功能之外,还要保证这个系统稳定可用。
一个复杂系统是由很多部分组成的,如应用程序、服务器、数据库、网络、中间件等,都可能会出问题。那怎么在出问题时,能够快速恢复系统或者让备用系统顶上去呢?
还有流量问题,平时流量不大,少量机器就可以处理,但在大促的时候,大量流量进来,系统是不是能够通过简单地加机器方式就能支持呢?
此外还有低成本的问题,系统能否做到,使用廉价设备而不是高大上的IOE设备,使用免费的开源组件而不是昂贵的商业套件,使用虚拟化技术而不是物理机,并且在流量低谷和高峰的不同时期,让系统能够弹性缩容和扩容呢?
因此,一个好的架构设计既要满足业务的可扩展、可复用;也要满足系统的高可用、高性能和可伸缩,并尽量采用低成本的方式落地。所以,对架构设计来说,技术和业务两手都要抓,两手都要硬。
边栏推荐
- C# WebBrower1控件可编辑模式保存时会提示“该文档已被修改,是否保存修改结果”
- 88Q2110 通过C22方式访问C45 phy地址
- 3342: String manipulation problem solving
- 导入数据包上传宝贝提示“类目不能为空”是什么原因,怎么解决?
- sql 使用到where和groupby时到底怎么建立索引?
- 从键入网址到网页显示的详细过程
- ARM开发(四)新手小白如何阅读芯片手册,裸机驱动开发步骤以及纯汇编实现点灯,汇编结合c点灯,c实现点灯
- Future Trends in Vulnerability Management Programs
- 压力能变成动力
- 软件测试面试题:Web服务器指标指标?
猜你喜欢

The latest domestic power supply manufacturers and pin-to-pin replacement manuals for specific models are released

MySQL - 一条SQL在MySQL中是如何被执行的?

Tomca启动闪退问题如何解决
![报错处理:org.xml.sax.SAXParseException: 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标](/img/35/650c92ac4c5fc2d5826f3216a09e65.png)
报错处理:org.xml.sax.SAXParseException: 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标

两日总结十

22-7-31

一次简单的 JVM 调优,拿去写到简历里

从键入网址到网页显示的详细过程

如何防止离职员工把企业文件拷贝带走?法律+技术,4步走

八.数据的存储
随机推荐
TRCX: doping process analysis
软件测试面试题:Web服务器指标指标?
单面PCB布线阻抗的工程设计
OpenWrt之opkg详解
winform下的富文本编辑器
软件测试面试题:性能测试工作?
报错处理:org.xml.sax.SAXParseException: 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标
The classification of inter-process communication (IPC) and the development of communication methods
Lianshengde W801 series 6-Analyze the Bluetooth communication source code of W801 from the perspective of WeChat applet (indicate method)
掌握这几招,轻松K.O面试官,Offer拿到吐
sql 使用到where和groupby时到底怎么建立索引?
漏洞管理计划的未来趋势
gRPC基础概念:闭包
JVM类加载机制
MySQL基础篇【第一篇】| 数据库概述及数据准备、常用命令、查看表结构步骤
This Thursday evening at 19:00, Lesson 5 of the sixth phase of knowledge empowerment丨OpenHarmony WiFi subsystem
如何实现FPGA的可重复性设计
async和await的理解和用法
gRPC闭包调度器
导入数据包上传宝贝提示“类目不能为空”是什么原因,怎么解决?