做大系统设计,就和切蛋糕一样,把复杂问题简单化。一口吃不了一个胖子,就分块来吃。设计方法无非就以下几种方法:
一是横向切,最典型的的就是TCP/IP协议;把整个互联网通讯按实现的功能来分成几层,每一层专注自己那层的工作。比如链路层(IP)专门负责发送和接收IP数据报。这样,每层的工作比较明确清晰,实现起来也比较方便。
二是纵向切,比较典型的就是TCP和UDP的分离。TCP负责可靠信息的传送,UDP负责不可靠但快速的信息传送。大家各负责各的,界限很清晰。
三是异步脱离。就是将一些外围非实时服务通过消息或事件驱动的方式让他们独立出去,脱离主系统流程。比如日志系统,消息通知系统等都可以独立出去,然后由异步事件或消息的方式将它们和主系统连接起来。
四是加引擎的方法,把基本功能模块整理出来,做成基本服务。由引擎驱动控制,实现不同应用和流程。
这些方法并不是排它的。一个大系统,通常会把这几种方法结合起来做设计。先按应用范畴纵向切,再按功能范畴横向切;提炼一下基本公用服务,加引擎来实现多种多样的应用;最后把外围系统独立出去,由事件/消息去驱动它们工作。按这个模式去做,你大系统的设计就八九不离十,不会偏差太多。
扯了半天,我们回到引擎。(未完待续)
分享到:
相关推荐
Informal-Discussion-on-Architecture 架构师-架构漫谈
架构漫谈(一):什么是架构? 架构漫谈(二):认识概念是理解架构的基础 架构漫谈(三):如何做好架构之识别问题 架构漫谈(四):如何做好架构之架构切分 架构漫谈(五):什么是软件 架构漫谈(六):软件架构...
[NET 4.0面向对象编程漫谈 应用篇].金旭亮---高清版.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
[NET 4.0面向对象编程漫谈 基础篇].金旭亮--高清版.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
尿素期货上市漫谈-0715-中银国际期货-16页.pdf
漫谈电子商务的影响(ppt-39页).ppt
漫谈电子商务解决方案(ppt-34页).ppt
漫谈电子商务竞争优势(ppt-41页).ppt
系统架构设计漫谈.docx
全新系统架构--基于中台和容器
《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了...
漫谈兼容内核之一:ReactOS怎样实现系统调用 漫谈兼容内核之二:关于kernel-win32的对象管理 漫谈兼容内核之三:Kernel-win32的文件操作 漫谈兼容内核之四:Kernel-win32的进程管理 漫谈兼容内核之五:Kernel-win32...
FLASH设计制作技术漫谈-动漫设计毕业论文-范本.doc
「端点安全」跨越攻防的壁垒_漫谈企业内部安全蓝军建设实践 - 安全方案 企业安全 企业安全 NGFW 安全对抗 端点安全
五年级语文上册 第六单元 23《漫谈沟通》课后练习 北京版-北京版小学五年级上册语文试题.docx
漫谈WebLogic-CVE-2020-25511
本文件提供信息安全基本知识,面向普通人群尤其是IT技术人员,通过案例和深入浅出的讲解,让听者掌握基本的信息安全知识、理念、理论和技能。适合于各类科技公司、院校和研究院所。
“星际旅行漫谈” 这个系列的文章将以目前所知的物理学规律为依据来讨论其 中的若干个方案, 无论这些方案是出自科学家、 工程师还是科幻小说家之手。 这些方案是人类探索璀灿星空的梦想的延续, 自远古以来这种梦想...
高并发高可用的可伸缩的架构设计的原则 空间换时间 数据与计算 多维度可用 伸缩 优化资源利用