淘宝服务端架构演进:从单机到分布式
需积分: 50 44 浏览量
更新于2024-08-18
收藏 1.75MB PPT 举报
本文主要探讨了服务端并发分布式架构的演进过程,从最初的单机架构逐渐发展到解决高并发和性能瓶颈问题。以下是文章的主要知识点:
1. **单机架构**:早期的淘宝网站,由于应用和用户量相对较小,可以将Tomcat和数据库部署在同一台服务器上。用户访问www.taobao.com时,通过DNS解析获取服务器IP,直接与Tomcat交互。
2. **性能瓶颈**:随着用户数量增长,单机架构无法满足业务需求,因为Tomcat和数据库之间的资源竞争导致性能下降。这促使架构开始演进。
3. **Tomcat与数据库分离**:为了解决资源竞争,将Tomcat和数据库分开部署在不同的服务器上,这样可以各自优化性能,提高整体系统的稳定性。
4. **缓存策略**:随着并发读写数据库成为瓶颈,引入了本地缓存(如在Tomcat服务器或JVM内存储热门数据)和分布式缓存(通常用于存储大量数据或静态内容)。本地缓存可以处理大部分读请求,减少对数据库的压力,而分布式缓存如Memcached或Redis则可以横向扩展,提高响应速度。
5. **高可用性和负载均衡**:集群的概念在此时引入,通过将服务分布在多台服务器上,形成一个整体提供服务,例如Zookeeper中的Master-Slave模式。这种设计使得即使有节点故障,也能有其他节点接管,提升了系统的高可用性。同时,通过负载均衡技术,请求会被均匀地分配到各节点,确保每个节点能有效处理请求。
6. **代理服务**:正向代理和反向代理的概念也在此阶段被提及。正向代理允许系统内部通过代理服务器访问外部网络,而反向代理则是在外部请求进入系统时,由代理转发至内部服务器处理,提高了系统的透明度和性能。
本文详细阐述了从单机架构出发,如何通过分布式部署、缓存优化、高可用性集群以及代理服务等手段,逐步解决服务端并发带来的挑战,实现了性能和可用性的提升。这是一条典型的从基础架构到高级架构的演进路径,对理解和实施大规模互联网服务有着重要的参考价值。
2019-09-09 上传
2020-05-29 上传
2019-08-14 上传
2023-12-04 上传
2024-11-05 上传
2023-05-15 上传
2024-01-25 上传
2024-11-06 上传
2024-11-05 上传
活着回来
- 粉丝: 26
- 资源: 2万+
最新资源
- SVR:简单向量回归-Udemy
- AquariumHoodLEDController
- Code,java论坛源码,java消息队列订单
- TRIDIEGS:求对称三对角矩阵的特征向量的特征值。-matlab开发
- get_html_source_gui:获取网页源代码GUI代码与重组程序
- json-builder:json-parser的序列化副本
- 参考资料-附件1-9-补充协议-新增.zip
- 共享计时器:一种Web应用程序,您可以在其中创建并与其他人共享计时器。 建立在React Hooks和Firebase之上
- spotify_battle
- maistra-test-tool:在OpenShift上运行maistra任务的测试工具
- mobi_silicon
- CrawlArticle:基于文字密度的新闻正文提取模块,兼容python2和python3,替换新闻网址或网页开源即可返回标题,发布时间和正文内容
- uu,java源码学习,springboot的源码是java
- regexp_parser:Ruby的正则表达式解析器库
- Get15
- Mary Poppins Search-crx插件