大型网站技术架构,阅读笔记一. 架构概述

本文深入探讨了大型网站在高并发、高可用、海量数据、快速变更需求及渐进式发展背景下的架构演变,包括分层、分割、分布式、集群、缓存、异步、冗余和自动化等关键策略,以及核心架构要素如性能、可用性、伸缩性和扩展性、安全性的构建方法。
* 大型网站架构演变

       高可用、高性能、易扩展、可伸缩且安全的网站。
       大型网站软件系统的特点:
       1 高并发,大流量 : google 日均pv 35亿,ip访问 3亿
       2 高可用: 7×24小时不能宕机
       3 海量数据:百度收录网页数百亿,facebook每周上传照片10亿。
       4 用户分布广泛,网络情况复杂:国内运营商网络互通难,国外电缆故障。
       5 需求快速变更,发布频繁:快速适应市场,发布频率要求极高。
       6 渐进式发展: 大型的互联网网站都是一个小网站开始。

* 大型网站架构模式

       1 分层: 如网站软件系统分为 应用层、服务层、数据层
       2 分割: 不同功能和服务分割开,包装成高内聚低耦合的模块单元。
       3 分布式:
                      大量机器协同工作, 分布式带来的问题
                       1 调用通过网络。
                       2 过多的服务器, 关键节点的宕机, 带来大量应用不可用。
                       3 数据一致性困难,分布式事务难以保证。
                       4 网站拓扑复杂。难以维护。
                      分布式方案: 分布式应用和服务 、分布式静态资源、分布式数据和存储、分布式计算、分
                      布式配置、分布式锁、分布式文件系统。
       4 集群:
                 分布式将模块独立部署, 集群让某个模块能支撑更大的并发请求,并且通过失效转移带来高可
                 用。
       5 缓存:
                将数据存放在离计算最近的位置以加快处理速度。
                        1 CDN: 内容分发网络, 部署离用户终端最近的网络服务商,缓存静态资源。
                        2 反向代理: 部署在网站前端, 访问首先到达反向代理服务器,缓存静态资源。
                        3 本地缓存: 应用服务器本地缓存。
                        4 分布式缓存:  大量分布式缓存集群,  应用服务器通过网络访问缓存数据。
               缓存使用前提:数据访问热点不均衡,数据有效期不能太短。
       6 异步:
                解耦合, 单一服务器使用内存队列, 分布式系统,使用分布式消息队列。 提高可用性, 削峰
                填谷,加快响应速度,提升用户体验。
       7 冗余:
                保证数据冗余, 即使故障,亦可恢复。 冷备、热备、灾备。
       8 自动化:
                自动化代码管理、自动化测试、自动化安全检测、自动化部署、自动化监控、自动化报警、自
                动化失效转移等。
       9 安全
               通信安全, 数据安全等


* 大型网站的核心架构要素

       架构: 最高层次的规划,难以改变的决定。
       1 性能: 响应时间、TPS、系统性能计数器。
                   浏览器缓存、页面压缩、合理页面布局、CDN、服务器本地缓存、分布式缓存、异步、集
                   群、多线程、NOSQL数据库。
       2 可用性:  数据冗余, 应用服务器进行集群(会话不能保存在应用服务器上)
       3 伸缩性:  是否可以用多台服务器构建集群,是否容易向集群中添加新的服务器。
                           1 应用服务器集群: 不保存数据,通过合适的负载均衡设备。
                           2 缓存服务器集群: 通过合适的缓存路由算法, 保证不需要重新从数据库加载数据。
                           3 关系型数据库:  支持数据复制、主从热备, 一般对大规模集群伸缩性支持不好, 一
                           般在数据库外实现。
                           4 NOSQL数据库: 天生非常好的伸缩性。
       4 扩展性: 新的业务产品,是否对现有产品无影响。 是否高内聚低耦合。
                           1 事件驱动架构:  分布式消息队列。
                           2 分布式服务: 将业务和可复用服务分离。 可复用服务多版本服务, 不强制要求应用
                           同步变更。
                           3 开发平台接口: 对外部开发者,提供开发平台接口。
       5 安全性。
源码地址: https://pan.quark.cn/s/d1f41682e390 miyoubiAuto 米游社每日米游币自动化Python脚本(务必使用Python3) 8更新:更换cookie的获取地址 注意:禁止在B站、贴吧、或各大论坛大肆传播! 作者已退游,项目不维护了。 如果有能力的可以pr修复。 小引波 推荐关注几个非常可爱有趣的女孩! 欢迎B站搜索: @嘉然今天吃什么 @向晚大魔王 @乃琳Queen @贝拉kira 第三方库 食用方法 下载源码 在Global.py中设置米游社Cookie 运行myb.py 本地第次运行时会自动生产个文件储存cookie,请勿删除 当前仅支持单个账号! 获取Cookie方法 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 按刷新页面,按下图复制 Cookie: How to get mys cookie 当触发时,可尝试按关闭,然后再次刷新页面,最后复制 Cookie。 也可以使用另种方法: 复制代码 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 控制台粘贴代码并运行,获得类似的输出信息 部分即为所需复制的 Cookie,点击确定复制 部署方法--腾讯云函数版(推荐! ) 下载项目源码和压缩包 进入项目文件夹打开命令行执行以下命令 xxxxxxx为通过上面方式或取得米游社cookie 定要用双引号包裹!! 例如: png 复制返回内容(包括括号) 例如: QQ截图20210505031552.png 登录腾讯云函数官网 选择函数服务-新建-自定义创建 函数名称随意-地区随意-运行环境Python3....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值