03-02-01-分布式架构的演进过程1
需积分: 0 154 浏览量
更新于2022-08-04
收藏 1.06MB PDF 举报
分布式架构的演进过程是大型网站或应用应对高并发、海量数据挑战的关键步骤。随着系统规模的扩大,单体架构的局限性日益显现,需要通过拆分和整合来实现有序化重构,提升系统的可维护性和扩展性。在这个过程中,我们会遇到如负载均衡、session管理等问题。
引入负载均衡器是为了分散服务器压力,确保每个服务器都能均衡地处理请求。负载均衡算法常见的有轮询、随机、最少连接数等,目的是使后台服务器不受特定请求模式的影响,保持系统整体稳定。然而,负载均衡会带来session一致性问题,因为用户的会话信息通常存储在服务器本地,当用户请求被分配到不同的服务器时,会丢失原有的session数据。为了解决这个问题,可以采用几种策略:session复制、session共享(例如使用集中式的session存储服务)、cookie-based session、或者是无状态化的设计(如令牌桶)。
架构的分类包括业务架构、应用架构和技术架构。业务架构关注业务流程、模块和域,帮助理解系统的核心逻辑;应用架构关注逻辑层面,如数据交互、应用形式和交互方式,SOA(面向服务架构)就是应用架构的一个实例;技术架构则处理技术选型、平台搭建、高可用等问题,如选择操作系统、中间件、数据库等。
在大型网站的架构演进中,最初可能采用单体架构,所有功能模块都在同一台服务器上运行,通过JVM内部调用交互,数据库通过JDBC访问。随着流量增加,会面临单机负载告警,此时数据库与应用服务器分离,减轻单机压力。进一步,当应用服务器负载增加,可能需要将其扩展成集群,这时就需要解决用户访问选择和session一致性问题,通常会利用DNS或负载均衡器分配请求,并考虑session的集中存储或复制策略。
在资源管理上,CPU、IO、内存和网络IO是关键的性能瓶颈。CPU的上下文切换可能导致性能下降,而频繁的文件IO操作会影响磁盘性能,网络IO限制带宽,内存问题则可能由溢出、泄漏或不足引起。优化这些方面可以通过调整代码、使用更高效的算法,或升级硬件来实现。
分布式架构的演进是一个逐步解决性能、可扩展性和复杂性的过程,它涉及到系统拆分、负载均衡、资源管理等多个层面,需要综合考虑业务需求、技术选型和架构设计,以确保系统的高效、稳定和灵活。
- 粉丝:
最新资源
- 公司网络组建方案.doc
- 大数据背景下的《二维动画设计》课程翻转课堂教学模式探究.docx
- 互联网+环境下学困生参与课堂合作学习的探究.docx
- 数据库车辆管理.doc
- 图书馆大数据模型精品文档.doc
- 水果行业电子商务的现状和发展趋势.doc
- 信息化背景下浅析电力客服管理体系.docx
- 人工智能对企业会计的影响及其对策.docx
- 学生成绩管理系统数据库设计方案[].doc
- 高中数学必修3第一章算法初步.ppt
- 谈项目经理如何在项目管理中发挥好作用.docx
- 云计算环境下的资源管理研究.doc
- 基于单片机的数字温度计和数字钟方案设计书.doc
- MySQL-DBA最佳技术实践.pdf
- Delphi机房管理.doc
- 浅议军校大学计算机基础课程教学改革.docx