大型网站架构之架构模式日期:2018-03-29 人气:709093
|
今天讲下大型网站架构的模式,什么是模式呢?每一个模式描述了一个再我们周围不断重复发生的问题及问题解决方案的核心,这样你就能一次次重用该方案而不必去做重复的工作,可见模式的关键在于可重复性。 网站架构模式的目标:面临高并发访问,海量数据处理,高可靠运行等问题和挑战,我们在实践中提出很多解决方案,主要为了实现网站的高性能、高可用、易伸缩、可扩展、安全等架构目标。 网站架构模式具体方案如下: 分层是一种常见的架构模式,将系统在横向维度上切分为几个部分,每个部分负责单一的职责,然后通过上层对下层的依赖和调用完成整个系统工作。一般大型网站系统都分为下面3层: 应用层:负责具体业务和视图展示; 服务层:为应用层提供服务支持; 数据层:提供数据存储访问服务; 分层架构的挑战:必须合理规划层次边界和接口; 分层架构的约束:禁止跨层次调用及逆向调用(数据层不允许调用服务层,服务层不允许调用应用层) 2、分割 分层是横向切分,分割则是纵向切分,将不同的功能和服务分割开,包装成高内聚低耦合的模块单元,这样做的好处在于: 有助于软件开发和维护; 便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力; 3、分布式 对于大型网站,分层和分割的目的都是为了便于分布式部署,将不同的模块部署在不同的服务器上,通过远程调用协同工作,分布式意味着我们可以使用更多的计算机完成同一个任务,计算机物理机越多,CPU,内存,存储资源就越多,能处理的并发访问和数据量也就更大,但是分布式也会带来一些问题: 分布式服务意味着通过网络调用,会对性能造成影响; 服务器越多,服务器宕机的概率就越大,使网站的可用性降低; 数据在分布式环境下保持数据一致性也就比较困难; 分布式下的事务也难以保证; 分布式管理增了开发和维护的难度,切记不要为了分布式而分布式; 分布式的常见几种方案: 分布式应用和服务:将分层和分割后的应用和服务模块分布式部署,可以改善网站性能和并发性,加快开发和发布的速度,减少数据库连接资源消耗,使不同的应用复用共同的服务,便于业务扩展; 分布式静态资源:网站的静态资源例如js,css,图片等资源独立分布式部署,并采用独立的域名,即动静分离;静态资源分布式部署可以减轻应用服务器的负载压力,通过域名独立加快浏览器并发加载的速度; 分布式数据和存储:大型网站需要处理以P为单位的海量数据,单台计算机无法提供如此大的存储空间,这些数据需要分布式存储; 分布式计算:目前网站普遍使用Hadoop和MapReduce分布式计算框架进行批处理计算,其特点就是移动计算而不是移动数据,将计算程序分发到数据所在的位置,以加速计算和分布式计算; 分布式配置:网站线上服务器配置实时更新; 分布式锁:分布式环境下实现并发和协同工作; 分布式文件:支持云存储的分布式文件系统; 4、集群 对于用户访问集中的模块,我们还需要考虑将其集群化,多台服务器部署相同应用构成一个集群,通过负载均衡器将请求分发给集群中不同的服务器处理。集群模式可以很好的扩展,当有更多用户访问时,只需要向集群中添加一台新的服务器加入集群即可,同时因为一个应用由多台服务器提供服务,当某台服务器发生故障时,负载均衡器或者系统的失效转移机制会将请求转发到集群中其他的服务器上,所以我们在配置集群时,至少需要2台以上服务器构成一个集群,目的就是为了提供系统的可用性。 5、缓存 将数据存放在距离计算最近的位置,加快处理速度。大型网站架构设计一般在下面几个方面使用缓存设计: CDN:即内容分发网络,部署在距离终端用户最近的网络服务商,用户网络请求总是先到达他的网络服务商那里,在这里缓存一些静态资源,就可以以最快的速度返回资源给用户; 反向代理:属于网站前端部分,部署在网站的前端,当用户请求到达网站的时候,最先访问到的就是反向代理服务器,这里缓存网站的静态资源,无需将请求继续转发给应用服务器就能直接返回给用户; 本地缓存:在应用服务器本地缓存一些热点数据(段时间内经常被访问的数据),应用程序可以在本机内存中直接访问数据,而无需访问数据库; 分布式缓存:将数据缓存在一个专门的分布式缓存集群中,应用程序通过网络通信获取缓存的数据; 使用缓存有2个前提条件: 数据访问热点不均衡,某些数据会被更频繁的访问,这部分数据就该放入缓存; 数据在某个时间段内有效,不会很快过期,否则缓存失效的数据就会因为失效而产生脏读,影响结果的正确性; 使用缓存的优势:加快数据访问速度以及减轻后端应用和数据存储的负载压力; 6、异步 大型网站的一个重要目标是降低软件的耦合性,系统解耦合的手段除了前面提到的分层、分割和分布式等,还有一个异步,业务之间的消息传递不是同步调用,而是将业务操作分成多个阶段,每个阶段之间通过共享数据的方式异步的进行协作; 在单一服务器内部可以通过多线程共享内存队列的方式实现异步,业务前执行的线程将数据写入队列,后续线程从队列中读取数据进行处理; 在分布式系统中,多个服务器集群通过分布式消息队列实现异步,分布式消息队列可以看做是内存队列的分布式部署; 异步架构是典型的生产者和消费者模式,此外异步消息队列还有如下特性: 提高系统可用性:消费者服务器宕机时,数据会堆积在消息队列中,生产者服务器可以继续处理业务请求,不影响系统整体运行,当消费者服务器恢复正常后可以继续处理消息队列中的数据; 加快网站响应速度:处在业务处理前端的生产者服务器在处理完业务请求后,可以将数据写入消息队列,不需要等待结果直接返回,减少响应延迟; 消除并发访问高峰:使用消息队列将突发的高峰访问请求数据放入消息队列中,等待消费者依次处理,不会对整个网站负载造成太大的压力; 7、冗余 网站需要24小时为用户提供服务,想要保证在服务器宕机的情况下,不影响网站的运行,不丢失数据,就需要将一定程度的服务器冗余运行,数据冗余备份,这样,当某台服务器宕机时,可以将其上面的服务和数据访问转移到其他冗余的服务器上。 数据库除了定期备份,存档保存,实现冷备份之外,为了保证在线业务高可用,还需要对数据库进行主从分离,实时同步实现热备份。 为了抵制一些非人为的天灾,一般还需要对整个网站数据中心进行备份,全球范围内部署灾备数据中心,网站程序和数据实时同步到多个灾备中心。 8、自动化 主要包括自动化代码管理、自动化测试、自动化安全检测、自动化部署等实现发布过程自动化;此外还需要对服务器进行自动化监控、自动化报警、自动化失效转移(将失效的服务器从集群中隔离出去)、自动化失效恢复(重启服务之后同步数据保证数据的一致性)、自动化降级(通过拒绝部分请求及关闭一些不重要的服务将系统负载降至一个安全的水平)以及自动化分配资源(将空闲资源分配给重要的服务,扩大部署规模)。 9、安全 主要从下面几点考虑 通过密码手机校验码进行身份验证; 登录,交易等操作对网络通信进行加密; 防止机器人程序滥用网络资源攻击网站,使用验证码进行识别; 对常见的XSS攻击、SQL注入进行编码转换等处理; 对垃圾信息。敏感信息进行过滤; 对交易转账等重要操作根据交易模式和交易信息进行风险控制。 文本来自采集文章 http://xuzhou.wepowerbattery.com/24/216.html 如需转载或删除,请联系管理员。 上一条:网站制作怎样更利于SEO!
|
- 01-23 如何快速做网站排名
- 01-23 做推广最实用的88种网站推广方法
- 01-23 【SEO知识】怎么分析竞争对手提高网站排名
- 01-23 网站建设SEO最新排名算法
- 01-23 一个优秀的SEO人员必知的网站代码优化
- 01-23 同一IP上两个网站的关键词排名变动的启示
- 01-23 手机端网站优化刻不容缓!
- 01-23 网站建设对企业影响有多大?
- 01-23 火大了,为什么外贸网站排名上不去、总收不到询盘?
- 01-23 网站流量下降的原因有哪些?
- 01-23 网站优化之单页面排名技巧
- 01-23 网站优化效果怎么看 网站排名是证据
- 01-23 网站建设就像婚姻:适合你的才是最好的!
- 01-23 网站建设对企业影响有多大?
- 01-23 多年以前的展示型网站不值得改版建议直接重新建站
- 01-23 响应式自助建站系统有什么好处
- 01-23 一个好的网站建设平台对于企业来说有多重要?
- 01-23 浅说移动端与pc端交互设计的区别
- 01-23 掌握网站创新的这两点 你的网站立刻起死回生!
- 01-23 一个新的外贸网站怎么做推广呢
- 01-23 【网站】英文外贸网站建设的经验总结
- 01-23 用户运营的两个模式,集中运营和策略运营
- 01-23 行业B2B网站如何推广营销?
- 01-23 万事开头难,网站运营怎么寻找“种子用户”?
- 漳州网络公司
- 张掖网络公司
- 浙江网站制作
- 云南网站制作
- 新疆网站制作
- 西藏网站制作
- 四川网站制作
- 陕西网站制作
- 山西网站制作
- 山东
- 内蒙古网络公司
- 辽宁网络公司
- 江西网络公司
- 江苏网络公司
- 湖南网络公司
- 湖北网络公司
- 黑龙江网络公司
- 河南网络公司
- 河北网络公司
- 贵州网络公司
- 广西网络公司
- 广东网络公司
- 甘肃网络公司
- 福建网络公司
- 安徽网络公司
- 大朗网络公司
- 横沥网络公司
- 东坑网络公司
- 寮步网络公司
- 谢岗网络公司
- 桥头网络公司
- 企石网络公司
- 石排网络公司
- 章丘网络公司
- 张家口网络公司
- 张家界网络公司
- 张北网络公司
- 枣庄网络公司
- 禹州网络公司
- 玉溪网络公司
- 玉树网络公司
- 云浮网络公司
- 运城网络公司
- 玉林网络公司
- 榆林网络公司
- 岳阳网络公司
- 永州网络公司
- 永新网络公司
- 益阳网络公司
- 鹰潭网络公司
- 营口网络公司
- 银川网站优化
- 伊犁网站优化
- 伊春网站优化
- 宜春网站优化
- 宜昌网站优化
- 宜宾网站优化
- 盐田网站优化
- 烟台网站优化
- 鄢陵
- 扬州
- 阳泉
- 阳江网站优化
- 阳春网站优化
- 盐城网站优化
- 延边网站优化
- 延安网站优化
- 雅安网站优化
- 徐州网站优化
- 许昌网站优化
- 宣城网站优化
- 西双版纳网站优化
- 忻州网站优化
- 新余网站优化
- 信阳网站优化
- 新乡网站优化
- 西宁网站优化
- 邢台网站优化
- 兴安盟网站优化
- 锡林郭勒盟网站优化
- 孝感网站优化
- 咸阳网站优化
- 仙桃网站优化
- 咸宁网站优化
- 湘西网站优化
- 湘潭网站优化
- 香港网站优化
- 襄樊网站优化
- 西安网站优化
- 厦门网站优化
- 梧州网站优化
- 吴忠
- 五指山
- 武夷山
- 无锡
- 武威
- 乌鲁木齐
- 乌兰察布
- 五家渠
- 芜湖
- 武汉
- 乌海
- 温州
- 文山
- 渭南
- 威海
- 潍坊
- 瓦房店
- 图木舒克
- 吐鲁番
- 铜仁
- 铜陵
- 通辽
- 通化
- 铜川
- 桐城
- 铁岭
- 天水
- 天门
- 天津
- 唐山
- 泰州
- 台州
- 太原
- 台湾
- 台山
- 泰安
- 宿州
- 苏州
- 宿迁
- 随州
- 遂宁
- 绥化
- 松原
- 四平
- 沭阳
- 朔州
- 顺德
- 双鸭山
- 石嘴山
- 十堰
- 石家庄
- 石河子
- 深圳
- 沈阳
- 神农架
- 邵阳
- 绍兴
- 韶关
- 汕尾
- 汕头
- 山南
- 上饶
- 商丘
- 商洛
- 上海
- 三亚
- 三明
- 三门峡
- 日照
- 日喀则
- 衢州
- 曲靖
- 泉州
- 七台河
- 其他
- 齐齐哈尔
- 钦州
- 秦皇岛
- 清远
- 庆阳
- 清徐
- 青岛
- 黔西南
- 黔南
- 潜江
- 黔东南
- 濮阳
- 莆田
- 普洱
- 萍乡
- 平凉
- 平顶山
- 攀枝花
- 盘锦
- 怒江
- 宁德
- 宁波
- 内江
- 那曲
- 南阳
- 南通
- 南山
- 南平
- 南宁
- 南京
- 南充
- 南昌
- 牡丹江
- 明港
- 绵阳
- 梅州
- 眉山
- 茂名
- 马鞍山
- 吕梁
- 泸州
- 洛阳
- 漯河
- 娄底
- 龙岩
- 陇南
- 龙岗网站制作
- 柳州
- 六盘水
- 六安
- 丽水
- 林芝
- 临猗
- 临沂
- 临夏
- 临汾
- 临沧
- 丽江
- 辽源
- 辽阳
- 聊城
- 连云港
- 凉山
- 乐山
- 拉萨
- 兰州
- 廊坊
- 莱芜
- 来宾
- 昆明
- 库尔勒
- 克孜勒苏
- 垦利
- 克拉玛依
- 喀什
- 开封
- 济源
- 鸡西
- 酒泉
- 九江
- 锦州
- 晋中
- 济宁
- 金华
- 荆州
- 荆门
- 景德镇
- 晋城
- 金昌
- 济南
- 吉林
- 揭阳
- 嘉峪关
- 嘉兴
- 焦作
- 江门
- 吉安
- 佳木斯
- 湖州
- 霍邱
- 呼伦贝尔
- 葫芦岛
- 惠州网站优化
- 呼和浩特
- 防狼喷雾
- 黄石
- 黄山
- 黄南
- 黄冈
- 淮南
- 怀化
- 淮北
- 淮安
- 红河
- 贺州
- 菏泽
- 河源
- 和县
- 和田
- 衡阳
- 衡水
- 黑河
- 鹤岗
- 合肥
- 河池
- 鹤壁
- 汉中
- 杭州
- 邯郸
- 哈密
- 海西
- 海南
- 海拉尔
- 海口
- 海东
- 海北
- 哈尔滨
- 固原
- 果洛
- 贵阳
- 桂林
- 贵港
- 馆陶
- 广州
- 广元
- 广安
- 甘孜
- 赣州
- 甘南
- 抚州
- 福州
- 阜阳
- 阜新
- 福田
- 抚顺
- 佛山
- 防城港
- 鄂州
- 恩施
- 鄂尔多斯
- 东营
- 东莞
- 迪庆
- 定州
- 定西
- 德州
- 德阳
- 德宏
- 达州
- 大兴安岭
- 大同
- 大庆
- 丹东
- 大连
- 大理
- 大丰
- 滁州
- 楚雄
- 崇左
- 池州
- 赤峰
- 郴州
- 成都
- 承德
- 潮州
- 朝阳
- 巢湖
- 常州
- 长治
- 长沙
- 昌吉
- 长葛
- 昌都
- 常德
- 长春
- 沧州
- 亳州
- 博尔塔拉
- 滨州
- 毕节
- 本溪
- 北京
- 北海
- 巴中
- 巴音郭楞
- 巴彦淖尔盟
- 包头
- 保山
- 宝鸡
- 保定
- 宝安网络公司
- 蚌埠
- 白银
- 白山
- 百色
- 白城
- 澳门
- 安阳
- 安顺
- 鞍山
- 安庆
- 安康
- 阿里
- 阿拉善盟
- 阿拉尔
- 阿克苏
- 阿坝
- 道滘网站制作
- 惠城
- 惠阳网站优化
- 博罗
- 惠东
- 龙门
- 淡水
- 大埔
- 五华
- 紫金
- 龙川
- 茶山网络公司
- 清溪网站制作
- 塘厦网站优化
- 黄江网络公司
- 凤岗网站制作
- 石龙网站优化
- 石碣网络公司
- 长安网站制作
- 常平网站优化
- 樟木头网络公司
- 厚街网站制作
- 虎门网站优化
- 西城网络公司
- 南城网站制作
- 东城网站优化
- 城区网络公司
- 罗湖网络公司
- 华强北网站优化
- 西丽网络公司
- 大浪网站优化
- 光明网络公司
- 龙华网站制作
- 观澜网站优化
- 观兰网络公司
- 公明网站制作
- 松岗网站优化
- 沙井网络公司
- 西乡网站制作
- 福永网站优化
- 石岩网络公司
- 坂田网站制作
- 大芬村网站优化
- 坪山网络公司
- 坪地网站制作
- 横岗网站优化
- 布吉网络公司
- 平湖网站制作
- 遵义
- 资阳
- 自贡
- 淄博
- 株洲
- 驻马店
- 珠海
- 诸城
- 舟山
- 周口
- 中卫
- 中山
- 重庆
- 镇江
- 郑州
- 正定
- 赵县
- 昭通
- 肇庆
- 湛江