一、大型网站技术架构演化

简介:

大型网站系统的特点

  • 1、高并发,大流量
  • 2、高可用:7*24小时不间断服务,不宕机
  • 3、海量数据储存及管理
  • 4、网络复杂
  • 5、安全性
  • 6、易扩展,可伸缩:需求快速变更,发布频繁
  • 7、渐进式发展:脸谱网是宿舍,谷歌是斯坦福大学实验室,淘宝是马云家

一句话,高可用,高性能,易扩展,可伸缩且安全的网站。

大型网站架构演化发展历程

1、初始阶段

    单机服务器:应用程序+数据库+文件都在一台服务器上。

  • 2、应用服务和数据服务分离

    应用服务器,文件服务器和数据库服务器。

中间通过通信的是:HTTP/Socket

  • 3、缓存

    二八定律。核心集中在百分之20

    缓存分两种:应用服务器上的本地缓存 和 缓存在专门分布式缓存服务器的远程缓存

    其中Ehcache 简介:(通过RMIJGroupsJMS进行的异步或同步的缓存复制、支持的通过RMI、JGroups或JMS进行的异步或同步的缓存复制、可靠的分发:使用TCP的内建分发机制、面向资源的RESTful,还有就是SOAP)

  • 4、应用服务器集群

    集群是常用手段,实现系统的可伸缩性。

    通过负载均衡调度服务器,将请求分发任何一台服务器。

  • 5、数据库读写分离

    读部分(缓存不命中或者过期) 和 全部写操作要访问数据库

    主从热备-数据库同步

  • 6、反向代理nginx CDN加速网站响应

    原理:缓存

    CDN:就近的网络提供上机房。反向代理缓存这用户请求的资源。

  • 7、分布式文件系统分布式数据库系统

    单表数据规模很大的情况,常用手段是业务分库。

8、NoSQL 、 搜索引擎

    数据存储及大规模数据的检索

    NoSQL场景: 场景:储存用户信息,比如会话、配置文件、参数、购物车等等。这些信息一般都和ID(键)挂钩,这种情景下键值数据库是个很好的选择。

  • 9、业务拆分

    分而治之,业务分成各个产品线。然后各个应用服务器。

    应用之间通过超链接或者消息队列进行数据分发。

10、分布式服务

    SOA、云服务

小结

云计算服务,可以让一切技术资源:计算,存储,网络按需购买即可。

相关文章
|
7月前
|
缓存 NoSQL 应用服务中间件
性能基础之大型网站架构演化(整理篇)
【2月更文挑战第14天】性能基础之大型网站架构演化(整理篇)
101 1
性能基础之大型网站架构演化(整理篇)
|
2月前
|
Cloud Native Java API
聊聊从单体到微服务架构服务演化过程
本文介绍了从单体应用到微服务再到云原生架构的演进过程。单体应用虽易于搭建和部署,但难以局部更新;面向服务架构(SOA)通过模块化和服务总线提升了组件复用性和分布式部署能力;微服务则进一步实现了服务的独立开发与部署,提高了灵活性;云原生架构则利用容器化、微服务和自动化工具,实现了应用在动态环境中的弹性扩展与高效管理。这一演进体现了软件架构向着更灵活、更高效的方向发展。
|
4月前
|
运维 Cloud Native 开发者
云原生时代下的微服务架构演化之路
【8月更文挑战第20天】在数字化转型的浪潮下,企业级应用纷纷拥抱云原生架构。本文将深入探讨微服务架构在适应云原生环境的过程中所面临的挑战与机遇,并分析如何通过优化设计、容器化技术及自动化运维,实现高效、灵活且可靠的系统构建。
185 65
|
4月前
|
消息中间件 存储 Java
图解Kafka:Kafka架构演化与升级!
图解Kafka:Kafka架构演化与升级!
103 0
图解Kafka:Kafka架构演化与升级!
|
4月前
|
Cloud Native 持续交付 开发者
云原生之旅:从传统到现代的架构演化
本文将通过一次虚拟的旅行,带领读者穿越回过去,探索软件架构的发展脉络。我们将从单体应用开始,一路经过服务化拆分,最终抵达云原生的乐土。这不仅是一段技术演进的历史,也是对如何在不断变化的技术浪潮中保持初心与创新的启示录。
52 2
|
4月前
|
机器学习/深度学习 架构师 数据库
20年老架构师,劝我多看看这几个网站
20年老架构师,劝我多看看这几个网站
|
5月前
|
弹性计算 负载均衡 关系型数据库
使用资源编排 ROS 轻松部署高可用架构网站——以 WordPress 为例
WordPress 是流行的开源 CMS,阿里云的资源编排服务 (ROS) 提供 IaC 功能,简化云上资源自动化部署,如创建 VPC、ECS、SLB、RDS 和弹性伸缩等。通过 ROS 模板(JSON/YAML),用户能快速部署高可用的 WordPress 环境,包括负载均衡、多可用区的 ECS 服务器集群、高可用 RDS 数据库等。模板定义了资源、参数和输出,用户在 ROS 控制台配置参数后一键部署。ROS 提升了部署效率,便于跨地域复制相同架构。
使用资源编排 ROS 轻松部署高可用架构网站——以 WordPress 为例
|
6月前
|
运维 监控 Cloud Native
云原生架构的演化与实践
【6月更文挑战第29天】云原生技术,作为现代软件开发和运维的前沿阵地,其核心理念在于构建可弹性扩展、高度可靠且易于管理的系统。本文将深入探讨云原生架构的发展脉络,解析其关键技术组件,并通过实际案例展示如何将这些原则应用于日常开发和运维中。我们还将讨论在采纳云原生技术时所面临的挑战及应对策略,以期为读者提供一套全面而实用的云原生解决方案。
162 1
|
7月前
|
敏捷开发 监控 测试技术
软件架构的艺术:探索演化之路上的18大黄金原则
实际工作表明,一步到位的设计往往不切实际,而演化原则指导我们逐步优化架构,以灵活响应业务和技术的变化。这不仅降低了技术债务和重构风险,还确保了软件的稳定性和可扩展性。同时,架构的持续演进促进了团队协作,激发了成员间的知识共享与技能提升。
145 0
软件架构的艺术:探索演化之路上的18大黄金原则
|
7月前
|
消息中间件 存储 缓存
性能基础之大型网站技术架构模式
【2月更文挑战第15天】性能基础之大型网站技术架构模式
119 3
性能基础之大型网站技术架构模式

热门文章

最新文章