网站架构模式

模式描述对重复发生时间的通用解决方案的核心。

模式的价值在于可重复性。

网站架构模式

为了解决高并发访问,海量数据,高可靠运行,提出了很多解决方案实现高性能,高可用,易伸缩,可扩展,安全等技术架构。

分层

横向分成, mvc, 视图,业务,数据库层
进制跨层调用
会给以后的优化带来很多的方便
可以每层部署到不同的物理设备

分割

纵向切割, 按功能和服务包装成高内聚低耦合的模块单元。
一方面有利于开发和维护,一方面利于分布式部署,提高并发处理能力和功能扩展能力
例如将网站分为:购物,论坛,搜索,广告。。 更细分割,购物可以分为:机票酒店,小商品,大家电等。更细的还可切割为首页搜索列表,详情页等。

分布式

分层和分割的一个重要作用就是分布式, 通过远程调用连接。 提高处理能力

但是。网络损耗, 数据一致性, 更大的宕机风险, 会导致软件错综复杂。
常见的分布式方案:
- 分布式应用和服务. 改善并发性,减少数据库连接资源,还能更好的复用服务,便于业务功能扩展
- 分布式静态资源。 图片等,使用独立域名加快浏览器并发加载速度, 减轻服务器压力。
- 分布式数据和存储。 主要是数据量太大。现在流行的nosql
- 分布式计算: Hadoop和MapReduce. 用于搜索引擎索引构建,数据仓库数据分析等。
- 分布式锁。 分布式环境的并发和协同
- 分布式文件系统 用于云存储

集群

集群化是为了给分布式服务对外一个集中的入口。 通过负载均衡对外提供服务
这种还可以提供可用性,避免宕机。

缓存

将数据放在离计算最近的位置加快处理速度。
CDN:内容分发网络。   放在网络服务商那里,也可以放一些静态资源
反向代理: 网站前端,放静态资源
本地缓存: 存储热点数据
分布式缓存: 热点数据放到缓存中。  减轻后端应用和数据库的负载压力。

异步

降低耦合性。    将业务分为多个阶段,用共享数据的方式进行协作。 单机可以用多线程共享内存队列的方式,即先业务写入队列,后面线程进行消费。  分布式通过分布式消息队列实现。典型是生产者消费者模式。
还有如下的特性:
- 提高系统可用性。    消费者故障,消息队列会存起来。系统整体表现无恙, 消费者恢复后继续处理。
- 加快响应速度
- 消除并发访问高峰。   就是不管并发多大,后台都是这样有序的处理着
- 会对用户体验业务流程有影响

冗余

应用集群。数据库备份,主从。灾备

自动化

自动化代码管理
自动化测试
自动化发布         减少代码编译就发布环节带来的问题
自动化监控
自动化告警
自动化失效转移
自动化降级            拒绝部分请求以及关闭部分不重要的服务
自动化分配资源等等

安全

密码和手机校验码。
网络通信加密
存储敏感数据加密
验证码
XSS攻击
SQL注入
垃圾信息过滤
交易等重要操作进行风控

在新浪微博中的应用


系统分为三个层次, 最下层基础服务层,提供数据库、缓存,存储,搜索等。 支撑海量数据和高并发
中间层是平台服务和应用服务层。 核心服务微博, 关系和用户分割成独立的模块。

业务被分层和分割后进行分布式部署, 在部署上可以单机多应用通过不同的端口号提供服务,得到资源利用最大化。 现在更普遍的做法是单机多虚拟机,这样更方便还不用使用不同的端口

早期架构微博使用同步推模式,用户发表微博后系统会立即将这条微博插入到数据库所有的粉丝订阅列表中。
后来改为推拉结合的模式, 先放入队列,然后任务推到在线订阅者。 离线订阅者上线的同时去拉取订阅列表

使用多级缓存。热门和明星用户在所有服务器上, 在线用户近期微博缓存在分布式缓存中。 保证所有刷微博操作都尽量是缓存操作。

多数据中心,技能灾备,又能就近数据访问。通过消息系统在数据中心之间同步

时间: 2024-09-10 08:59:38

网站架构模式的相关文章

二、大型网站架构模式

网站架构模式     分层 横向维度,每个部分负责单一的职责.上层对下层依赖和调用. 应用层,服务层和数据层     分割 网站越大,不同功能和服务分割出来形成高内聚低耦合模块单元.     分布式 分布式部署,即将不同模块部署在不同的服务器上,通过远程调用协同工作. 数据在分布式环境中保持数据一致性非常难,分布式难以保证. 分布式应用和服务.分布是静态资源.分布式数据和存储.分布式计算.并发和协同的分布式锁. Zookeeper 的典型的应用场景(配置文件的管理.集群管理.同步锁.Leader

大型分布式网站架构技术总结

本文是学习大型分布式网站架构的技术总结.对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考.一部分为读书笔记,一部分是个人经验总结.对大型分布式网站架构有很好的参考价值. 一.大型网站的特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频繁发布 从小到大,渐进发展 以用户为中心 免费服务,付费体验 二.大型网站架构目标 高性能:提供快速的访问体验. 高可用:网站服务一直可以正常访问. 可伸缩:通过硬件增

【转载】大型网站架构演化

大型网站系统特点 高并发.大流量:PV 量巨大 高可用:7*24 小时不间断服务 海量数据:文件数目分分钟 xxTB 用户分布广泛,网络情况复杂:网络运营商 安全环境恶劣:黑客的攻击 需求快速变更,发布频繁:快速适应市场,满足用户需求 渐进式发展:慢慢地运营出大型网站 大型网站架构演化过程 (1)初始阶段网站架构:一台 Server 就刚需.应用程序.数据库.文件等所有资源都集中在一台 Server 上,典型案例:基于 LAMP 架构的 PHP 网站: (2)应用和数据服务分离:三台 Serve

中国教育网站运营模式比较分析

比较|网站运营 随着互联网的复兴,互联网又成为风险投资的热点.目前国内大大小小的教育网站非常之多.按是否商业运营可分为两大类:一.非经营性网站,此类网站由政府拨款建设,各地教育部门管理运营,教学资源免费使用.各地教厅(委.局)网站,部分地市教育城域网属于此类:二.商业网站,此类网站由企业投资或者占较大比重,商业化运作.企业投资的教育信息服务.教学资源.增值服务.教育城域网属于此类.非经营性网站不涉及商业运营,在此不讨论,我们重点分析商业网站,商业网站运营模式大概有如下几类: (一)基础网络服务

ASP.NET多频道网站架构实现方法

各频道分别位于不同的Web Project(具有独立的二级域名),并将所有的业务逻辑以及数据访问功能封装成Class Library,所有频道共用这个Class Library. 下面详细介绍实现方法. 假设网站有三个频道,新闻.论坛以及博客,对应的二级域名为"news"."forum"."blog".除此之外,还需要另外定义两个域名,分别用于网站首页以及用户注册.登陆功能(基于Passport机制,本文后面将作详细介绍),对应域名为"

国内教育网站运营模式比较分析

比较|网站运营 随着互联网的复兴,互联网又成为风险投资的热点.目前国内大大小小的教育网站非常之多.按是否商业运营可分为两大类:一.非经营性网站,此类网站由政府拨款建设,各地教育部门管理运营,教学资源免费使用.各地教厅(委.局)网站,部分地市教育城域网属于此类:二.商业网站,此类网站由企业投资或者占较大比重,商业化运作.企业投资的教育信息服务.教学资源.增值服务.教育城域网属于此类.非经营性网站不涉及商业运营,在此不讨论,我们重点分析商业网站,商业网站运营模式大概有如下几类: (一)基础网络服务

从网站架构看淘鞋网布局seo的方式(二)

写过一篇"从网站架构看淘鞋网布局seo的方式(1)",是应该再写第二篇,那么我们继续关注淘鞋网的网站结构和seo之间的关系,淘鞋网让我们学习的seo细节以及设置方面还是很让我们学习的,以下就是下午的思考了. 4)淘鞋网"锚文本"特色 现在在鞋类电子商务市场中,有淘鞋网,拍鞋网,乐淘,好乐买,等等的电子商务平台,可见竞争之大,那么这一点呢,淘鞋网也为了和他们的同类竞争对手比较排名,甚至品牌的关键字排名,用对方的品牌词链接回到自己的首页,如图所示就是笔者在首页中发现的友

MVC架构模式与利用JAVABEAN分页

众所周知MVC不是设计模式,是一个比设计模式更大一点的模式,称作设计模式不合理,MVC模式应该叫架构模式,MVC里面用了许多小的模式,例如策略模式,组合模式,聚集模式,可以用到的模式有十几种之多,而设计模式里也就27种,MVC很重要,现在流行的STRUTS框架也是类似的实现,建议大家有时间可以研究下STRUTS,现在很多公司都开始使用这个框架来做大型的企业系统开发,STRUTS是APACHE的一个开源项目,所有资料都可以从APACHE网站得到.当然目前国内也有翻译了一些STRUTS文章,不过大都

百万级PHP网站架构工具箱

在了解过世界最大的PHP站点,Facebook的后台技术后,今天我们来了解一个百万级PHP站点的网站架构:Poppen.de.Poppen.de是德国的一个社交网站,相对Facebook.Flickr来说是一个很小的网站,但它有一个很好的架构,融合了很多技术,如 Nigix.MySql.CouchDB.Erlang.Memcached.RabbitMQ.PHP.Graphite.Red5以及Tsung. Poppen.de目前有200万注册用户数.2万并发用户数.每天20万条私有消息.每天25万