03-02-01-分布式架构的演进过程1

preview
需积分: 0 0 下载量 33 浏览量 更新于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限制带宽,内存问题则可能由溢出、泄漏或不足引起。优化这些方面可以通过调整代码、使用更高效的算法,或升级硬件来实现。 分布式架构的演进是一个逐步解决性能、可扩展性和复杂性的过程,它涉及到系统拆分、负载均衡、资源管理等多个层面,需要综合考虑业务需求、技术选型和架构设计,以确保系统的高效、稳定和灵活。
身份认证 购VIP最低享 7 折!
30元优惠券
Orca是只鲸
  • 粉丝: 36
  • 资源: 317
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部