大型网站技术架构_核心原理与案例分析笔记(三)

网站的可扩展性架构:

 

扩展性:

指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。表现在系统基础设施稳定不需要经常变更,应用之间较少依赖和耦合,对需求变更可以敏捷相应。它是系统架构设计层面的开闭原则(对扩展开放,对修改关闭),架构设计考虑未来功能扩展,当系统增加新功能时忙不需要对现有系统的结构和代码进行修改。

伸缩性:

指系统能够通过增加(减少)自身资源规模的方式增强(减少)自己计算处理事务的能力。如果这种增减是成比例的,就被称作线性伸缩性。在网站架构中,通过指利用集群的方式增加服务器数量、提高系统的整体事务吞吐能力。

利用分布式消息队列降低系统耦合性:

1. 事件驱动架构;
2. 分布式消息队列。

利用分布式服务打造可复用的业务平台

1. web service与企业级分布式服务;
2. 大型网站分布式服务需求和特点(负载均衡、失效转移、高效的远程通信、整合异构系统、对应用最少侵入、版本管理、实时监控)

可扩展的数据接口(NOSQL)

 

利用开放平台构建生态圈

 

网站的安全架构:

 

1. XSS(CROSS SITE SCRIPT)

1. 消毒(转义<、>、标签)
2. httponly(放置JS窃取cookie)

2. 注入

利用方式:开源代码、错误回显、盲注
防御方式:消毒(过滤特殊关键字)、参数绑定

3. CSRF攻击(Cross site request forgery)

防范方法:表单Token、验证码、referer check

4. other

error code、html注释、文件上传、路径遍历。

WEB应用防火墙(mode Security) 独立的规则过滤模块

 

信息加密技术及密钥安全管理

常用加密技术分类:单项散列加密(md5,sha)、对称加密(DES、RC)、非对称加密(RSA算法、HTTPS即是)。
信息过滤与反垃圾:文本匹配(trie算法)、分类算法(贝叶斯算法)、黑名单。
电子商务风险控制:风险,风控:规则引擎、统计模型。