大型系统架构的核心要素-理论
1、性能
优化的方式有如下:
1)浏览器端: 通过浏览器缓存、页面压缩、合理布局页面和减少cookie传输
2)应用服务器端:使用带我去本地缓存和分布式缓存,通过缓存在内存的热点
数据处理用户请求,减轻数据库负载压力
3)代码层面: 用多线程,改善内存管理等手段
4)数据库服务器端:用索引、缓存和sql优化
2、可用性
衡量的标准是假设系统中任何一台伙多台服务器宕机时,已经出现各种不可预期的问题
时,系统整体是否依然可用。
高可用的主要手段是冗余,应用部署在多台服务器上同时提供访问,数据存储在多台服
务器上相互备份,任何一台机器宕机不会影响整体可用,也不会导致数据丢失
3、伸缩性
伸缩性是通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断
增长的数据存储需求。
对应应用服务器集群,只要服务器上不保存数据,所有的服务器都是对等的,通过使用合适
的负载均衡就可以向集群中不断服务器。
对于缓存服务器而言,加入新的服务器可能回导致缓存路由失效,从而导致大部分的缓存数据
都无法访问,需要改进缓存路由算法来保证缓存数据的可访问性
4、扩展性
衡量网站架构扩展性的好坏的主要标准就是在网站增加新的业务产品时,是否可以实现现有
产品透明无影响,不需要改动或很少改动既有业务功能就可以上线新功能。不同产品之间是否很少耦合,一个产品改动对其他产品无影响。
网站可扩展架构的主要手段是事件驱动架构和分布式服务
5、安全
衡量网站安全架构的标准就是针对现存和潜在的各种攻击和窃密手段,是否有可靠的应对策略
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?