
架构专题
文章平均质量分 79
该专题涉及架构基础、高性能架构模式、高可用架构模式、可扩展架构模式、架构实战等等。
爱读书的张先生
世界上任何书籍都不能给你带来好运,但是它们能让你悄悄成为你自己。
展开
-
架构设计的宏观视角
怎样成长为优秀的软件架构师?01 | 为什么需要建立宏观视角?1)站在宏观视角,从基础架构开始,逐渐来解剖一个应用程序的整体构成,可以对一个程序的全貌,形成完整的认识。2)从基础架构开始,逐步过渡到业务架构,最终完成一个完整的应用程序设计。02 | 应用程序的基础架构1、电脑:由中央处理器+存储+一系列的输入输出设备构成。1)中央处理器:CPU,负责按指令执行命令。2)存储:负责保存数据。3)电脑的CPU是一个非常简洁的模型,它只读入和写出数据,对数据进行计算。2、电脑可以完成原创 2020-11-25 19:47:09 · 285 阅读 · 1 评论 -
怎样成长为优秀的软件架构师?
怎样成长为优秀的软件架构师?01 | 工程师的分类1、搬砖师1)把现实世界的业务操作搬到计算机上,通过计算机软件和网络进行业务和数据处理。2、工程师1)关注代码质量,致力于不断提升软件代码工程质量的程序员。3、架构师:需要掌控全局。1)核心:在于对知识脉络的体系化梳理。2)前提:在自己心中去重新构建出整个世界。在这个过程中,不要要一上来就沉浸在某个技术的实现细节(除非它影响了你对这个世界构建过程的理解),但是你知道整个世界的脉络,知道整个世界的骨架。02 | 代码质量评判纬度原创 2020-11-25 19:46:29 · 218 阅读 · 0 评论 -
说透中台-小结
说透中台-小结01 | 学习目录1)中台的来龙去脉2)中台的种类和定义3)D4模型:中台规划建设方法论概述4)落地一:企业战略分解及现状调研(Discovery)5)落地二:企业数字化全景规划(Define)6)落地三:中台的规划与设计(Design)7)落地四:中台的建设与接入(Delivery)8)中台落地工具资源汇总02 | 一些句子1)中台定义:企业级能力复用平台。2)中台落地和规划:遇事不决看愿景。3)建设中台前的4个考量:愿景、利益相关方、投资模式、度量指标。原创 2020-10-30 19:07:38 · 378 阅读 · 0 评论 -
秒杀架构-02动静分离方案简析
秒杀架构-02动静分离方案简析01 | 动静分离1、秒杀场景对系统的要求是快、准、狠2、针对“快”有两点1)提高单次请求的效率2)减少没必要的请求02 | 何为动静数据1、动静 分离1)动静分离:把用户请求的数据(如 HTML 页面)划分为 “动态数据” 和 “静态数据”2)“动态数据” 和 “静态数据” 的主要区别是看页面中输出的数据是否和 URL、浏览者、时间、地域相关,以及是否含有 Cookie 等私密数据。例如,媒体网站的文章,你我他访问结果都一样,所以它是典型的静态数据,原创 2020-09-28 20:02:40 · 455 阅读 · 1 评论 -
秒杀架构-01秒杀架构设计5原则
秒杀架构-01秒杀架构设计5原则01 | 秒杀的定义和本质1、定义1)秒杀是在同一时刻有大量的请求争抢同一个商品并完成交易的过程,用技术的行话来说就是大量的并发读和并发写。2、本质1)秒杀系统本质上就是一个满足大并发、高性能和高可用的分布式系统。02 | 架构原则:“4要1不要”1、导读1)构建一个超大流量并发读写、高性能,以及高可用的系统需要考虑一些要素,现将这些要素总结为“4 要 1 不要”。2、数据要尽量少1. 首先是指用户请求的数据能少就少。 1)请求的数据包括上传原创 2020-09-28 20:01:59 · 223 阅读 · 0 评论 -
秒杀架构-00秒杀架构设计关键点
秒杀架构-00秒杀架构设计关键点01 | 秒杀问题:并发读写1、秒杀中并发读1)核心优化理念是尽量减少用户到服务端来“读”数据,或者让他们读更少的数据。2、秒杀中并发写1)处理原则同并发读,需要在数据库层面独立出一个库,做特殊处理。3、超大并发读写、高性能、高可用系统的要求1)在整个用户请求路径上从浏览器到服务端需要遵循 “4要1不要” 原则。2)“4要1不要” 原则,就是要保证用户请求的数据尽量少、请求数尽量少、路径尽量短、依赖尽量少,并且不要有单点。02 | 秒杀的架构要求原创 2020-09-28 20:01:17 · 148 阅读 · 0 评论 -
高性能架构-高性能数据库集群:分库分表
高性能数据库集群:分库分表01 | 导读1、读写分离分散了数据库读写操作的压力,但是没有分散存储压力。2、数据量达到千万甚至上亿条时,单台数据库服务器的存储能力会成为系统的瓶颈,主要体现在:1)数据量太大,读写的性能会下降,即使有索引,索引也会变得很大,性能同样会下降。2)数据文件变大,备份和恢复需要耗费很长时间。3)数据文件越大,丢失数据的风险越高。3、常见的分散存储的方法“分库分表”,其中包括“分库”和“分表”两大类。02 | 业务分库1、业务分库指的是按照业务模块将数据分散到不同原创 2020-08-20 20:15:48 · 244 阅读 · 0 评论 -
高性能架构-高性能数据库集群:读写分离
高性能数据库集群:读写分离01 | 导读1、实践中,为了设计出优秀的架构,除了掌握这些基础知识外,还需要掌握业界已经成熟的各种架构模式,在此基础上根据业务和团队情况进行优化和调整。2、高性能数据库集群有两种方式:读写分离和分库分表1)读写分离:本质是将访问压力分散到集群中的多个节点,但是没有分散存储压力。2)分库分表:既可以分散访问压力,又可以分散存储压力。02 | 读写分离原理1、读写分离的基本原理是将数据库读写操作分散到不同的节点上2、读写分离的实现1)数据库服务器搭建主从集群原创 2020-08-20 20:14:32 · 464 阅读 · 0 评论 -
基础架构-架构设计目的简析
基础架构-架构设计目的简析01 | 架构设计的误区1、认为架构很重要,所以要做架构设计1)例子:不做架构设计系统就跑不起来么?答:初创公司可能没有架构设计过程,大家简单讨论下就开始编码,而且上线后运行不错。2、面临的问题1)机器语言的主要问题是三难:太难写、太难读、太难改02 | 汇编语言1、定义1)汇编语言又叫“符号语言”,用助记符代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址2、出现的原因1)为了解决机器语言编写、阅读、修改原创 2020-07-06 22:44:50 · 617 阅读 · 0 评论 -
基础架构-架构发展史简析
基础架构-架构发展史简析01 | 机器语言1、定义1)最早的软件开发使用的是“机器语言”,直接使用二进制码 0 和 1 来表示机器可以识别的指令和数据2、面临的问题1)机器语言的主要问题是三难:太难写、太难读、太难改02 | 汇编语言1、定义1)汇编语言又叫“符号语言”,用助记符代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址2、出现的原因1)为了解决机器语言编写、阅读、修改复杂的问题,相比机器语言来说,汇编语言就清晰得多了3、原创 2020-07-06 19:33:46 · 255 阅读 · 0 评论 -
基础架构-架构发展史简析
基础架构-架构发展史简析01 | 机器语言1、定义1)最早的软件开发使用的是“机器语言”,直接使用二进制码 0 和 1 来表示机器可以识别的指令和数据2、面临的问题1)机器语言的主要问题是三难:太难写、太难读、太难改02 | 汇编语言1、定义1)汇编语言又叫“符号语言”,用助记符代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址2、出现的原因1)为了解决机器语言编写、阅读、修改复杂的问题,相比机器语言来说,汇编语言简单明了3、面临原创 2020-07-05 12:58:37 · 309 阅读 · 0 评论 -
基础架构-架构理论简析
基础架构-架构理论简析01 | 导读1、深究“架构”到底指什么,需要了解以下几个问题1)系统与子系统2)模块与组件3)框架与架构02 | 系统与子系统1、定义1)系统:系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。它的意思是“总体”、“整体”或“联盟”。2)子系统:子系统是由一群有关联的个体组成的系统,多半会是更大系统的一部分。3)注:子系统的定义和系统定义是一样的,只是观察的角度有差异,一个系统可能是另外一个更大系统的子系统。原创 2020-07-04 17:26:54 · 1331 阅读 · 0 评论 -
架构导论
架构导论01 | 架构设计的特性1、架构设计的思维和程序设计的思维差异很大1)架构设计的关键思维是判断和取舍,程序设计的关键思维是逻辑和实现。2)用写代码的思维去思考架构,会导致很多困惑。2、架构设计没有体系化的培训和训练机制1)架构设计一般只能自己慢慢摸索,效率低,容易踩坑。3、程序员对架构设计的理解存在很多误区1)成为架构师不一定不要很强的天分,只要用心学,掌握合适的学习方法,一定能学有所成02 | 架构设计的内容1、架构基础1)架构设计的本质、历史背景、目的、复杂度原创 2020-07-04 16:37:35 · 382 阅读 · 0 评论