- 博客(196)
- 收藏
- 关注
原创 【架构师从入门到进阶】第六章:服务集群优化——第二节:集群并发&无状态集群
本文介绍了服务集群优化中的集群并发和无状态集群技术。面对高并发挑战,通过负载均衡构建服务器集群是最直接有效的解决方案,能快速分散请求压力。文章分析了集群的缺点,如请求顺序依赖可能导致数据不一致,并提出了无状态集群的概念。无状态服务要求每个请求独立处理,不依赖服务器存储的状态信息,通过共享外部存储实现数据一致性。此外,还探讨了无状态集群中协作问题的解决方案,包括使用锁机制和外部服务调度。无状态设计是实现水平扩展的关键,使系统能够灵活应对流量增长。
2026-09-05 08:46:49
901
原创 【架构师从入门到进阶】第六章:服务集群优化——第一节:并行与并发
本文介绍了应用服务器性能优化中的分流设计和集群技术。通过DNS、CDN和反向代理等手段对请求进行分流,将集中流量分散到多个服务器处理。重点讲解了并行与并发的区别:并行是多个任务真正同时执行(如边读书边听歌),而并发是任务片交替执行(如边看书边看电视)。在实际架构设计中,两者统称为并发。最后指出集群技术通过多台服务器并行处理请求,配合负载均衡实现性能优化,这是提升系统处理能力的基础方法。
2026-09-05 08:46:29
789
原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第十二节:网关安全-信息过滤
文章摘要本文讨论网站信息过滤与反垃圾策略。首先要尽可能多收集用户信息,如IP、网络情况、设备唯一码等,用于黑名单和信息过滤。信息过滤分两步:一是识别有害信息及其生产方,有害信息包括违规指令;二是处理有害信息。对违规操作可提示非法或系统繁忙,限制操作次数;对垃圾信息,常用文本匹配过滤,敏感词少用正则,敏感词多、信息长且并发高时可用搜索中间件过滤。网关作为第一道防线,要应对攻击性请求,集成加解密技术,同时识别有害、垃圾信息及违规操作,通过关键词和来源标记垃圾信息。
2026-08-30 14:24:56
1077
原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第十一节:网关安全-对称与非对称加密
本文介绍了网关安全中的两种主要加密方式:对称加密和非对称加密。对称加密使用同一密钥进行加解密,效率高但存在密钥传输安全问题;非对称加密使用公钥和私钥配对,安全性高但效率较低。实际应用中通常结合使用两种方式:先用非对称加密传输对称密钥,再用对称加密进行通信。文章还探讨了密钥管理的两种方案:独立加解密服务(安全性高但成本高)和分散密钥存储(兼顾性能与安全),并建议通过代码混淆、多语言实现等方式增强安全性。这两种加密方式及其管理策略共同构成了保障网关安全的重要技术手段。
2026-08-30 14:24:13
1426
原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第十节:网关安全-单向加密
本文介绍了网络安全中的信息加密技术,重点讲解了单向加密的原理和应用。文章以2011年CSDN密码泄露事件为例,说明明文存储密码的危害性,引出加密的重要性。单向加密(如MD5、SHA)通过散列计算将任意长度信息转换为固定长度密文,具有不可逆特性,常用于密码存储保护。为防止彩虹表攻击,可采用加盐(salt)方式增加破解难度。单向加密还可用于接口参数防篡改验证,通过比对前后端生成的密文一致性确保数据完整性。文章为架构师提供了网关安全优化的基础思路和实践方法。
2026-08-29 07:03:48
1162
原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第九节:网关-CSRF攻击与预防
本文介绍了CSRF(跨站点请求伪造)攻击的原理及防范措施。CSRF攻击通过诱导用户点击恶意链接,伪造合法用户的请求进行非法操作,如转账等。防范方法包括:1)Token校验,通过前后端加密验证防止跨域攻击;2)验证码机制,在执行敏感操作时要求用户输入验证码。文章还补充了错误码攻击防范(避免暴露系统信息)和文件上传攻击防范(设置白名单、重命名文件、专用存储)。这些措施能有效提升系统安全性。
2026-08-29 07:03:31
853
原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第七节:网关-XSS攻击与预防
在前面的文章中,我们讲了负载均衡,讲了请求从客户端出发到服务器的中间过程。我们是按照用户请求到达我们服务器的顺序来讲解我们架构方面的知识的。那么,在用户的请求到达我们服务器之前,在一般的这些大型互联网系统中,还有一个重要的组件叫做网关。我们前面讲了,比如说用户操作了客户端,中间经历了DNS,CDN,反向代理,然后最终到达我们的server端。但是在到达我们具体提供的Web服务之前,还有一个叫做网关的东西,有可能在反向代理的后面;有可能没有反向代理这一层,过了网关之后接着就是nginx;
2026-08-29 06:55:48
1069
原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第六节:伸缩性思考-负载均衡算法
负载均衡算法,我们就说这么多。上一篇文章讲了负载均衡,这篇文章讲的负载均衡算法,其实都是为了伸缩性做考虑。伸缩性就是通过算法找后端的一台机器,然后找到后端的那台机器之后,把请求发给他。这里面有一些算法,如果他要缩的话,就需要去改一下。比如说轮询,我们在数组去存对应的三台服务器的IP地址,如果我们需要把一台服务器删掉,就需要把数组里面的这个地址也给它去掉。关于服务器的伸缩,在我们的系统当中,如果能做成自动化的,就会更好。这一方面,通过云原生的解决方案去做,是比较好的。
2026-08-29 06:55:25
922
原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第五节:伸缩性思考-负载均衡
本篇文章我们来学习伸缩性的思考。通过前面的知识呢。我们来看一看伸缩性怎么做。在前面,我们讲过了DNS、CDN,还有正反向的代理,这些和网站的伸缩性有一定的关系。所谓的网站的伸缩性是指。不需要改变网站的软硬件设计,仅仅通过改变部署的服务器的数量,就可以扩大或者缩小网站的服务处理能力。一些特别大的网站都经过购买很多服务器用来应对流量洪峰的情况。
2026-08-18 20:42:43
1412
原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第四节:请求链路中代理的作用
那么反向代理是什么呢?反向代理是服务端配置代理。所有的请求,由服务端接收,然后再由代理服务器分发到后面的服务器。我们来画一个图:这是一个代理服务器,代理服务器里配置了后面好多个服务器的地址,所有的用户请求,都来请求它,但是代理服务器这边配置了后面好多服务器的地址,然后代理服务器再将这些请求分发到后面的不同的机器上去,这个就叫做反向代理好了。这样一来,所有的请求呢,都由这么一个服务器来接收,无法判断这台代理服务器代理了多少的后端服务。
2026-08-18 20:42:37
898
原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第三节:CDN扩展-多地址直连
我们总结一下,上面的这两种方式,基于注册中心和基于规则中心,他们都有一个共同的特点,就是客户端和服务器在真正获取数据的时候是直接连接的,注册中心和规则中心只是负责将用户的请求进行分流。在整个过程中,服务并不需要注册中心和规则中心的中转,只需要问他们我需要找谁,他们只是告诉一下我需要找谁,简单的地址解析请求或者给客户端提供一个IP地址即可。那么客户端至于要拿什么数据,它是直接跟我们的源站连接的。所以呢,这种方案,也叫做多地址直连,就是CDN的扩展,CDN扩展也叫多地址直连。举个例子,就像我们去租房子一样。
2026-08-08 17:43:00
699
原创 【深入理解SpringCloud微服务】服务监控解决方案Prometheus+Grafana、Zabbix等介绍与对比
本文对比了两种主流服务监控方案Prometheus+Grafana和Zabbix。Prometheus原生支持容器监控,特别适合K8s环境,采用拉取模式收集指标,结合Grafana实现可视化,但配置较复杂。Zabbix作为企业级监控方案,支持服务器、网络设备等多场景监控,采用Agent/Proxy架构,功能全面但云原生支持较弱。两者各有侧重:Prometheus擅长云原生细粒度监控,Zabbix更适合传统IT基础设施监控。文中还详细介绍了Java应用通过Actuator整合Prometheus的具体配置方法
2026-08-08 17:42:23
347
原创 【深入理解SpringCloud微服务】微服务链路追踪SkyWalking、Pinpoint、Sleuth等各方案介绍与对比
本文介绍了微服务链路追踪的常见解决方案,包括SkyWalking、Pinpoint、Sleuth+Zipkin等。微服务链路追踪通过收集调用链信息,帮助理清服务间复杂的调用关系。SkyWalking采用字节码注入技术实现零侵入,性能损耗小,支持ES、MySQL等存储;Pinpoint同样基于字节码注入但对性能影响较大,使用HBase存储;Sleuth+Zipkin通过代码侵入方式收集数据,适合Spring Cloud生态。文中详细描述了各方案的架构原理、部署配置和使用方法,包括代理端设置、服务端存储选择以及
2026-07-19 15:16:20
391
1
原创 【深入理解SpringCloud微服务】日志收集相关解决方案介绍与对比
本文介绍了四种常见的日志收集解决方案:ELKB、EFK、Skywalking和Flume。ELKB由ElasticSearch、Logstash、Kibana和filebeat组成,适合结构化日志处理;EFK用Fluentd替代Logstash,更轻量级且适合云原生环境;Skywalking通过Java探针采集日志,兼具链路追踪功能但较重;Flume主要用于大数据场景,将数据传输至HDFS等系统。各方案适用于不同场景,ELKB/EFK适合业务日志收集,Skywalking适合Java应用监控,Flume则面
2026-07-19 15:14:53
281
原创 【深入理解SpringCloud微服务】Spring-Security-OAuth2实现SSO单点登录以及整合JWT
本文介绍了Spring Security OAuth2实现SSO单点登录的三种方案:同域单点登录(共享Cookie)、跨域单点登录(UAA统一认证)和基于OAuth2的跨域单点登录,并详细说明了授权服务器和客户端的配置方法。针对性能问题,提出整合JWT的方案,通过非对称加密和数字签名技术实现无状态token验证,避免每次请求都访问授权服务器校验token。文章还给出了网关中JWT过滤器的实现逻辑,包括token解析、校验和用户信息转发等关键步骤,有效解决了分布式系统中用户认证和授权的效率问题。
2026-07-04 09:00:35
337
原创 【深入理解SpringCloud微服务】Spring-Security-OAuth2作用与原理解析
OAuth2是一种授权开放标准,允许第三方应用访问用户在服务提供商的资源而无需提供账号密码。文章解析了OAuth2的四种角色(资源所有者、客户端、授权服务器、资源服务器)和四种授权模式(授权码模式、密码模式、简化模式、客户端模式),并以京东微信登录为例详细说明了授权码模式的工作流程。此外,文章介绍了Spring-Security-OAuth2的实现架构,说明了其在Spring Security基础上如何整合OAuth2协议,包括授权服务器和资源服务器的交互流程,并简要提及了相关的Maven依赖和配置方式。
2026-07-04 08:58:17
208
原创 索引下推(ICP):MySQL 帮你“少跑腿”的摸鱼黑科技
索引下推(ICP)是MySQL 5.6引入的查询优化技术,它让存储引擎在回表前先利用索引条件过滤数据,大幅减少不必要的回表操作。传统方式需要将所有匹配索引的记录回表后再过滤,而ICP直接在索引层完成部分条件判断,仅回表符合条件的记录。该技术适用于联合索引的非最左列条件过滤,通过EXPLAIN的"Using index condition"可确认ICP生效。典型场景如范围查询后接等值过滤时,ICP能显著降低IO开销,提升查询性能。
2026-05-25 14:33:40
470
原创 覆盖索引:查询不用回表,性能直接“旱地拔葱”!
摘要:覆盖索引优化数据库查询性能 覆盖索引通过将查询所需字段直接包含在索引中,避免回表操作(即无需访问主表),大幅提升查询效率。其核心原理是让索引"覆盖"查询需求,减少随机I/O和内存消耗。 优势: 消除回表开销,查询速度提升数倍 减少磁盘随机I/O,降低CPU负载 保持Buffer Pool缓存效率 适用场景: 高频查询字段组合 深度分页优化(延迟关联) 聚合统计类查询 注意事项: 会增加索引存储空间 影响写入性能(需维护更多索引) 适合中大型表,小表收益不明显 通过EXPLAIN的"Using inde
2026-05-25 14:32:09
364
原创 复合索引设计指南:最左前缀 & 字段排座次
本文摘要: 复合索引设计的关键在于理解"最左前缀原则"和字段排序策略。复合索引必须从左到右依次使用,不能跳过中间列(如索引(a,b,c)中,查询条件必须包含a才能使用索引)。字段排序应遵循:等值查询列优先、区分度高列靠前、范围查询列置后。通过订单表实例演示了如何设计(user_id,status,create_time)的复合索引结构,并解释了这种排序能最大化查询效率的原因。掌握这些原则可避免全表扫描,显著提升数据库查询性能。
2026-05-10 20:34:33
522
原创 MySQL索引“全家桶”大起底:主键、唯一、普通、全文、前缀……到底该Pick谁?
📌 MySQL索引全家桶速览 主键索引(🔑):聚簇存储、唯一非空,表只能有一个;唯一索引(⭐):防重复但允许多NULL;普通索引(📄):加速查询,值可重复;全文索引(🔍):专攻文本搜索,支持分词;前缀索引(✂️):截取长字符串前N位,节省空间。 💡 避坑指南: 主键优选自增ID,UUID易引发性能问题 普通索引不是越多越好(5-7个为宜) 全文索引对中文需特殊配置 前缀索引需平衡长度与区分度 🚀 一句话总结:根据业务场景选索引,主键打基础,唯一防重复,普通加速查,全文搜文本,前缀省空间!
2026-05-10 20:31:27
364
原创 B+树:MySQL索引界的“定海神针”,到底长了啥样?
B+树作为MySQL索引的核心数据结构,凭借多路平衡、叶子节点链表和数据有序存储三大特性,成为数据库索引的理想选择。与B树相比,B+树内部节点仅存储键值不存数据,使得树高更低、磁盘IO更少;叶子节点双向链表支持高效范围查询,避免B树需要回溯的缺点。相比Hash索引无法处理范围查询,以及红黑树等二叉树结构在数据量大时树高过高的问题,B+树在3-4层高度即可支持千万级数据,实现O(logN)的查询效率,成为关系型数据库索引的最佳解决方案。
2026-04-30 21:47:48
522
原创 MySQL主从复制:从“异步“到“GTID“,数据同步的进化之路
MySQL主从复制经历了从异步复制到半同步复制再到GTID复制的演进过程。异步复制速度快但存在数据丢失风险;半同步复制通过等待从库ACK确保数据安全,但可能因超时降级为异步;GTID复制则通过全局事务ID实现精确故障恢复。每种方式各有利弊:异步复制适合非关键业务,半同步复制保障核心数据安全,GTID复制简化故障处理流程。选择复制策略需根据业务对数据一致性和可用性的要求进行权衡。
2026-04-30 21:45:54
555
原创 MySQL的“家庭账本”大揭秘:Redo、Undo、Binlog,到底谁在记谁的烂账?
MySQL日志系统核心组件解析:Redo Log、Undo Log和Binlog各司其职,共同保障数据库事务特性。Redo Log作为InnoDB引擎层的物理日志,通过WAL机制确保数据持久性;Undo Log记录事务修改前的状态,支持回滚操作和MVCC多版本控制;Binlog则是Server层的逻辑日志,用于主从复制和数据恢复。三者协同工作,Redo保证数据不丢失,Undo保证事务可回滚,Binlog保证数据可复制,构成MySQL稳定运行的基石。文章还通过流程图生动展示了各日志的工作机制和交互关系,并提供
2026-04-26 20:23:21
659
原创 MySQL锁机制:从“行锁”到“间隙锁”,到底锁住了啥?
摘要: MySQL的InnoDB锁机制分为表级锁(如S/X锁)、行级锁(记录锁、间隙锁、临键锁)和意向锁(IS/IX)。行锁实际锁定索引而非数据行,无索引或索引失效会导致全表扫描锁。意向锁作为“预告”机制,避免表锁与行锁冲突。在RR隔离级别下,间隙锁和临键锁通过锁定索引间隙防止幻读,而唯一索引精确查询可降级为行锁优化性能。死锁由循环等待触发,InnoDB会自动检测并回滚代价低的事务。优化锁争用的关键是合理设计索引与事务粒度。
2026-04-26 20:20:41
525
原创 数据库界的“平行宇宙”:MySQL 怎么用 MVCC 让读写不掐架?
MySQL MVCC机制解析 MySQL通过MVCC(多版本并发控制)实现高效读写并发,核心原理是: 版本链管理 - 每行数据附带隐藏字段(事务ID、回滚指针),形成版本链 快照读机制 - SELECT操作基于Read View判断数据可见性 隔离级别差异 - RC级别每次读创建新快照,RR级别复用首次快照 配套机制 - 配合Undo Log记录旧值,Purge线程清理过期版本 关键优势: 读不阻塞写,写不阻塞读 避免不必要的锁等待 通过版本控制实现事务隔离 注意事项: 幻读防护需配合Next-Key Lo
2026-04-26 20:17:09
556
原创 InnoDB的“内存三宝“:Buffer Pool、Change Buffer、AHI,到底在干啥?
InnoDB内存三宝协作机制:Buffer Pool作为核心缓存区管理数据页,Change Buffer优化二级索引写入,AHI加速热点查询。Buffer Pool通过LRU链表管理冷热数据,Change Buffer将随机写转为顺序写减少IO,AHI自动构建哈希索引提升查询效率。三者协同工作,Buffer Pool提供基础存储,Change Buffer负责写入优化,AHI专注读取加速,共同支撑InnoDB的高性能表现。合理配置三者参数(如BP大小、CB开关、AHI阈值)可显著提升数据库性能。
2026-04-19 21:38:40
603
原创 一条SQL的“奇幻漂流“:聊聊MySQL内部到底在忙啥
MySQL SQL执行流程解析 摘要:本文详细解析了一条SQL语句在MySQL中的完整执行过程,包括Server层的五大核心组件及其协作机制。从连接器的身份验证、查询缓存的淘汰原因,到分析器的语法解析、优化器的执行计划选择,再到执行器的数据获取与处理流程,全面剖析了SQL语句在数据库内部的"奇幻漂流"之旅。同时提供了针对慢查询的实用排查思路,包括连接数监控、预编译语句使用、索引优化建议等实战技巧,帮助开发者深入理解MySQL工作原理并优化查询性能。
2026-04-19 21:33:46
390
原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第二节:CDN优化
本文介绍了CDN(内容分发网络)的优化原理与应用。CDN通过在全国或全球部署边缘节点,使用户就近访问静态资源,从而降低网络延迟(如北京到广州可减少50毫秒)。CDN由源站(数据大本营)和边缘节点(缓存静态资源)组成,通过DNS的CNAME记录将用户请求智能路由到最近节点。当边缘节点无缓存时,会向源站获取数据并缓存。CDN能有效分担源站压力,提升用户体验。其工作原理类似于注册中心,通过分析用户IP分配最优节点地址。实际应用中,企业通常使用第三方CDN服务而非自建,以降低成本。
2026-04-18 20:20:20
2535
原创 【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第一节:DNS优化
本文介绍了DNS优化的必要性及方法。首先阐述了使用域名而非IP地址的优势:便于记忆且避免因服务器IP变更导致客户端不可用。其次详细解析了DNS的工作原理,包括域名记录类型(A、CNAME、NS)和域名服务器层级(根、顶级、二级、权威和本地DNS服务器)。重点分析了DNS的实际解析过程,说明其通过多级缓存(浏览器、操作系统、hosts文件、LDNS等)实现高效查询。最后提出DNS优化方案:一是利用多级缓存机制减少查询耗时;二是通过一个域名映射多个IP实现负载均衡,从而提升系统可用性和性能。这些优化手段能有效降
2026-04-18 20:19:40
1015
原创 【架构师从入门到进阶】第四章:前端优化思路——第三节:前置资源和缓存
本文介绍了前端优化的两个重要策略:前置资源和缓存机制。前置资源指将不变的计算逻辑(如打车软件的计价规则)放在客户端处理,减轻服务端压力。缓存部分详细讲解了HTTP缓存(通过Cache-Control头控制各级节点缓存行为)和客户端缓存(LocalStorage等),并分析了缓存不一致的解决方案:更改文件名或后端验证(基于修改时间或版本号)。文章通过具体示例(如滴滴计价、京东页面)说明优化实践,帮助理解如何平衡性能与数据一致性。
2026-04-06 21:31:47
1398
原创 【架构师从入门到进阶】第四章:前端优化思路——第二节:减少不必要的传输
本文介绍了前端优化中"减少不必要的传输"的四种方法:1)合并HTTP请求,通过合并JS/CSS/图片等资源减少请求数,提升加载效率;2)启用压缩,通过gzip等方式减小文件体积,但需权衡服务器资源消耗;3)减少cookie,避免静态资源请求携带无用cookie,建议使用独立域名存放静态资源;4)斟酌加载顺序,将CSS放在头部优先加载,JS尽量放在底部以避免阻塞渲染。这些优化手段能有效减少网络传输量,提升页面加载速度和用户体验。
2026-04-06 21:31:20
993
原创 【架构师从入门到进阶】第四章:前端优化思路——第一节:前端优化概述
本篇文章我们来学习前端优化的概述。为什么开始学前端呢?大家思考一下,我们在之前的文章中写过这么一段话。我们优化的点是从用户使用我们系统开始,直到我们响应用户为止。那么,首先第一个问题,用户什么时候开始使用我们的系统?比如说一个人,当这个人开始点我们的APP的时候是吧,开始上面操作的时候,我们就可以做优化了。那么第一个优化在哪里?只要用户一个动作发生之后,因为用户觉得这个动作已经脱离他自己了,就等着很着急的要这个响应,越响越快,用户的体验度越好。那么第一个优化在用户的手发出指令之后,到达我们APP之前。
2026-03-22 11:36:58
1048
原创 【架构师从入门到进阶】第三章:系统整体优化思路——第一节:整体优化思路
本篇文章我们来看一下整体优化思路。什么意思呢?一一给大家解释。首先,我这里面给大家抛出一个问题,平时我们所说的亿级流量的系统是如何做的?是靠我们写代码吗?大家觉得亿级流量靠写代码能实现吗?你代码写的再精妙,精妙到天上去了,全世界就你的代码最精妙,能实现亿级流量吗?当然实现不了。因为你的代码再厉害,也得在机器上跑,你的机器就算再厉害,厉害到天上了,全世界最顶尖的机器了,把代码布到你这台最顶尖的机器上,能扛得住亿级流量吗?举一个例子。双11的活动在十年前,那一瞬间的流量,都能拖垮一个中型城市的网络带宽。
2026-03-22 11:36:30
1080
原创 【架构师从入门到进阶】第二章:系统衡量指标——第一节:伸缩性、扩展性、安全性
大型的网站需要面对大量的用户的高并发访问和海量的存储要求,或者说我们的系统从开始用户量很少的情况下到后面用户越来越多,一边是用户的访问量会增大,二是存储的数据量也会增大。这个时候系统就有扩容的需求,所谓的这种伸缩性呢就是指不断的向集群中加入服务器的手段来缓解不断上升的用户访问,和不断增长的数据需求。什么意思呢?就是说我这个系统扛不住这么多的用户请求,也扛不住这么多的数据的存储,那么我就需要进行扩容了。扩容就需要用到伸缩性,为什么叫伸缩性呢?
2026-03-21 15:50:47
1031
原创 【架构师从入门到进阶】第一章:架构设计基础——第五节:架构演进(缓存到微服务)
到这里,我们就会有一个结论:大家做架构设计要有一个信心,就是不要怕架构无法满足业务。当真的遇到架构变得越来越复杂,复杂度成指数级提升的时候,创新的解决办法就会有了,天无绝人之路。从我们前面的演进过程来看,我们发现每次技术架构的变革,都是由于技术无法满足业务,要么是业务量增大了,要么是用户增多了,数据量增大了等等。为了应对这些业务的变化,我们来调整我们的架构。所以说,技术和业务呢,是相辅相成,相互促进的。这就是技术演进的大概的路径。初始阶段:一台服务器。
2026-03-21 15:50:23
1367
原创 【架构师从入门到进阶】第一章:架构设计基础——第四节:架构演进(初始阶段到读写分离)
本篇文章我们学习架构演进的初始阶段。我们来看一下,互联网系统是如何从小网站逐步变大的,我们过一遍架构演进的历程,让大家对系统的演化心中有个谱。但是,这里面首先说明一点,并不是所有的网站都是像我下面所说的这样演进的,我说的只是个大概,不是统一的表达,就像我们前面所说的架构设计,没有统一的模式。
2026-02-26 17:34:39
1749
原创 【架构师从入门到进阶】第一章:架构设计基础——第三节:大型网站的特点
本篇文章我们来看一下大型网站的特点。我们首先得知道大型网站的特点,之后才知道我们做架构设计的目标或者方向。和小网站或者传统的软件系统做对比,大型网站有下面这些特点。第一个是高并发大流量。大型网站需要面对高并发大流量的访问,比如说谷歌。谷歌上现在的日均pv(就是page view)是80亿,微信的日活是六亿。这个都是一般的小网站或者传统的项目无法比拟的。第二个是高可用。大型网站因为服务的用户比较多,一般要求系统是7×24小时不间断的提供服务。
2026-02-26 17:34:30
423
原创 【架构师从入门到进阶】第一章:架构设计基础——第二节:架构设计原则
本篇文章我们来学习架构设计的原则,有这么三个原则,第一个是合适原则,第二个是简单原则,第三个是演化原则。许多同学心中或多或少有成为架构师的想法,可是并不是说你把代码写好,就能成为一个架构师,优秀的程序员和架构师之间,还有一个明显的鸿沟需要跨越,这个鸿沟就是不确定性。对编程来说,它是不存在不确定性的,对于同样的一行代码,不管是谁写的,不管什么时候执行,执行的结果总是确定的,这里的确定呢,它不一定是正确性,也就是说哪怕这个程序运行的有bug,那它也是确定的。但是。
2026-02-15 13:50:05
1141
原创 【架构师从入门到进阶】第一章:架构设计基础——第一节:架构设计的目的
架构设计的目的与常见误区解析 摘要:本文从架构设计的误区与目的两个维度展开分析。首先指出5个常见误区:盲目追求架构设计、单纯追求"三高"目标、照搬大公司方案、过度使用新技术、技术万能论。随后阐明架构设计的核心目的是应对系统复杂度,具体表现为:通过拆分系统解决高性能复杂度,通过备份冗余解决高可用复杂度,通过预测和封装变化解决高扩展复杂度。文章还补充了成本、安全、规模等因素对架构设计的影响,强调架构设计需要平衡技术方案与业务需求,避免过度设计。
2026-02-15 13:48:39
1443
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅