- 高可用的网站架构:目的是保证服务器硬件故障时服务依然可用、数据依然保存并能够被访问,主要手段数据和服务的冗余备份及失效转移
- 高可用的应用:显著特点是应用的无状态性通过负载均衡进行无状态服务的失效转移应用服务器集群的 Session 管理Session 复制Session 绑定利用 Cookie 记录 SessionSession 服务器
- 高可用的服务:无状态的服务,可使用类似负载均衡的失效转移策略,此外还有如下策略分级管理超时设置异步调用服务降级幂等性设计
- 高可用的数据:主要手段是数据备份和失效转移机制CAP 原理数据一致性(Consisitency)数据可用性(Availibility)分区耐受性(Partition Tolerance)数据备份冷备:缺点是不能保证数据最终一致和数据可用性热备:分为异步热备和同步热备失效转移:由以下三部分组成失效确认访问转移数据恢复
- 高可用网站的软件质量保证网站发布自动化测试预发布验证代码控制主干开发、分支发布分支开发、主干发布自动化发布灰度发布
- 网站运行监控监控数据采集用户行为日志采集(服务器端和客户端)服务器性能监控运行数据报告监控管理警报系统失效转移自动优雅降级
- 用户层面:大量用户及大量访问
- 功能方面:功能庞杂,产品众多
- 技术层面:网站需要部署大量的服务器
- 网站架构的伸缩性设计不同功能进行物理分离实现伸缩纵向分离(分层后分离)横向分离(业务分割后分离)单一功能通过集群规模实现伸缩
- 应用服务器集群的伸缩性设计HTTP 重定向负载均衡DNS 域名解析负载均衡反向代理负载均衡(在 HTTP 协议层面,应用层负载均衡)IP 负载均衡(在内核进程完成数据分发)数据链路层负载均衡(数据链路层修改 mac 地址,三角传输模式,LVS)负载均衡算法轮询(Round Robin, RR)加权轮询(Weighted Round Robin, WRR)随机(Random)最少链接(Least Connections)源地址散列(Source Hashing)
- 分布式缓存集群的伸缩性设计Memcached 分布式缓存集群的访问模型Memcached 客户端(包括 API,路由算法,服务器列表,通信模块)Memcached 服务器集群Memcached 分布式缓存集群的伸缩性挑战分布式缓存的一致性 Hash 算法(一致性 Hash 环,虚拟层)
- 数据存储服务集群的伸缩性设计关系数据库集群的伸缩性设计NoSQL 数据库的伸缩性设计
- 构建可扩展的网站架构
- 利用分布式消息队列降低耦合性事件驱动架构(Event Driven Architecture)分布式消息队列
- 利用分布式服务打造可复用的业务平台Web Service 与企业级分布式服务大型网站分布式服务的特点分布式服务框架设计(Thrift, Dubbo)
- 可扩展的数据结构(如 ColumnFamily 设计)
- 利用开放平台建设网站生态圈
- 攻击与防御XSS 攻击:跨站点脚本攻击(Cross Site Script)反射型持久型XSS 防御手段消毒(即对某些 html 危险字符转义)HttpOnly注入攻击SQL 注入攻击OS 注入攻击注入防御避免被猜到数据库表结构信息消毒参数绑定CSRF 攻击:跨站点请求伪造(Cross Site Request Forgery)CSRF 防御:主要手段是识别请求者身份表单 Token验证码Referer Check其他攻击和漏洞Error CodeHTML 注释文件上传路径遍历Web 应用防火墙(ModSecurity)网站安全漏洞扫描
- 信息加密技术及密钥安全管理单向散列加密:不同输入长度的信息通过散列计算得到固定长度的输出不可逆,非明文可加盐(salt)增加安全性输入的微小变化会导致输出完全不同对称加密:加密和解密使用同一个密钥非对称加密信息传输:公钥加密,私钥解密数字签名:私钥加密,公钥解密密钥安全管理:信息安全传输是靠密钥保证的,改善手段有:把密钥和算法放在一个独立的服务器上将加解密算法放在应用系统中,密钥放在独立服务器
- 信息过滤与反垃圾文本匹配分类算法黑名单
推荐阅读
- 茶叶收藏市场渐趋理性,收藏普洱茶三原则
- 新版Edge不好用?实测这5款Edge插件后,网友:真香!建议收藏
- 美甲彩绘的专业建议以及美甲彩绘窍门
- 雕刻|今天介绍几款收藏价值的和田玉
- 冬奥会纪念币有收藏价值吗?
- MySQL压力测试工具,值得收藏
- |一张3元纸币,为什么有人愿意出30万收藏呢?
- 茶桌茶具摆放,古代陶瓷茶具应如何保养与收藏
- 九款Edge浏览器插件推荐,强烈建议收藏
- 钱币|一版币收藏价值怎么样?哪里可以收藏到呢?