二、大型网站架构模式

简介:

网站架构模式

    分层

横向维度,每个部分负责单一的职责。上层对下层依赖和调用。

应用层,服务层和数据层

    分割

网站越大,不同功能和服务分割出来形成高内聚低耦合模块单元。

    分布式

分布式部署,即将不同模块部署在不同的服务器上,通过远程调用协同工作。

数据在分布式环境中保持数据一致性非常难,分布式难以保证。

分布式应用和服务、分布是静态资源、分布式数据和存储、分布式计算、并发和协同的分布式锁。

Zookeeper 的典型的应用场景(配置文件的管理、集群管理、同步锁、Leader 选举、队列管理等)

    集群

多台服务器部署相同应用,通过负载均衡向外提供服务。

    缓存

缓存就是放在离计算距离最近的位置以加快处理速度。

CDN:内容分发网络 、反向代理、本地缓存、分布式缓存。

缓存种类:1. LocalCache(独立式): 例如Ehcache、BigMemory Go 2. Standalone(单机)  3. Distributed(分布式):例如Redis-Cluster, memcache集群等等

082dfcc7-1a06-3116-886f-055d4af98cf8.png

    异步

一个重要目标和驱动力是降低软件耦合性。

一个业务操作分成多个阶段,每个阶段之间通过共享数据的方式异步执行进行协作。

单一服务器内部通过多线程共享内存队列方式实现异步:处理业务操作前面的线程将输出写入到队列,后面的线程从队列中读取数据进行处理。

分布式中,多个服务器集群通过分布式消息队列实现异步,分布式消息队列可以看做内存队列的分布式部署。

异步架构(生产者消费者模式),异步消息队列的特性:可用性,加快网站响应和消除并发访问高峰。

    冗余

数据库定期备份,存档保存,实现冷备份

数据库进行主从分离,实时同步实现热备份。

    安全

web安全 《白帽子讲安全》 吴瀚清

架构模式在新浪微博的应用

5d7cb605-6b21-4aaf-844a-fbc4a03bdd45

    异步推拉模式、多级缓存策略

小结

    好的设计绝对不是模仿,不是生搬硬套某个模式。

相关文章
|
3月前
|
小程序 Java 数据管理
Java前后端分离架构开发的智慧校园电子班牌系统源码(SaaS模式)
.智慧校园设备管理: 设备管理主要对班级中正在使用的电子智慧班牌进行管理,基本功能包含(开关机状态、班级信息、设备型号、开关机信息、电子智慧班牌截屏信息、教师编号、设备ID、在线和离线状态、电子智慧班牌更新时间等)
40 0
|
3月前
|
设计模式 Linux 程序员
Linux驱动的软件架构(一):驱动的软件设计模式理念
Linux驱动的软件架构(一):驱动的软件设计模式理念
42 0
|
3月前
|
存储 缓存 负载均衡
架构的模式
架构的模式
|
15天前
|
存储 人工智能 架构师
数据库架构模式:分片
本文介绍了数据库分片的概念,以及各自的使用场景,分片可提升可扩展性、性能和高可用性。
|
19天前
|
前端开发 安全 JavaScript
计算机软件从 CS 模式到 BS 架构迁移背后的动因
计算机软件从 CS 模式到 BS 架构迁移背后的动因
24 0
|
28天前
|
存储 监控 安全
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
63 1
|
1月前
|
运维 安全 Linux
LAMP架构调优(八)——Apache Worker模式调优
LAMP架构调优(八)——Apache Worker模式调优
9 0
|
1月前
|
缓存 运维 Linux
LAMP架构调优(七)——Apache Prefork模式调优
LAMP架构调优(七)——Apache Prefork模式调优
19 2
|
1月前
|
消息中间件 存储 缓存
性能基础之大型网站技术架构模式
【2月更文挑战第15天】性能基础之大型网站技术架构模式
69 3
性能基础之大型网站技术架构模式
|
2月前
|
消息中间件 中间件 API
深入探讨微服务架构中的服务通信模式
随着微服务架构的普及,服务间的通信成为了系统设计的关键环节。本文将深入探讨微服务架构中的服务通信模式,包括同步通信和异步通信两大类,并对比其优缺点。我们还将介绍几种流行的通信技术,如REST、gRPC、消息队列等,并分析它们在实际应用中的适用场景。通过本文的阐述,读者将对微服务架构下的服务通信有一个全面而深刻的理解,为选择合适的通信模式提供指导。