语言方案:

优:

并行,容错,调试,热部署,测试,高阶函数,柯里化(适配器),惰性求值,延续(没有栈。迭代。尾递归。单参数--单返回值。WEB,JETTY。不需要栈。stackless),模式匹配.

劣:

调用(使用栈,浪费空间),

 

数据提交:

0,流提交(免解码);

1,服务器提交===用户体验===请求已经发出去了;

2,无脚本;

3,快速验证(错误频率记忆===》检查项目顺序调整)。

 

数据获取(缓存):

1,流缓存(免编码);

2,检索数(XML)据+商品数据(HTML)+UI元素(XSL+图片);

3,全缓存(对所有除事务以外的内容包括数据使用缓存+使用URL变形做内容更新);

4,内容更新管理。

 

内容策略:

1,所有内容在系统处理全程保持流(字节)的形式。不解码,不编码;

 

处理器调度:

1,动态优先级(IO任务优先:网卡,数据库,磁盘。内存任务优先,IO任务排队);

2,抢占;

3,水平调度;

4,垂直调度;

5,智能调度引擎(自适应调度);

6,资源定义:处理器,内存,网络,磁盘+数据库

内存管理:

1,内存调度;

2,边界控制:溢出,死锁(内存争夺)。

3,缓存控制(开源库);

4,关闭虚存。

5,服务降级。 

数据库:

1,取结果条数;

资源管理:

1,数据库连接;

2,数据库锁(没有锁。不设计任何并发更新);

3,无依赖设计(所有部件独立工作。互不依赖);

循环控制:

1,没有循环(用函数式语言);

 

数据结构测试:

1,数据结构性能退化;

 

压力测试:

1,平均响应时间;

2,90th%响应时间;

3,突发活动(任意组合);

4,阶段性增加负载;

5,通量;

6,处理器,内存,网卡,磁盘负载时间;

7,图片。

恢复测试:

1,系统的恢复时间;

兼容性测试:

1,浏览器;

2,OS;

3,网络(不同接入点);

位置测试:

1,偏远地区;

2,特大城市;

3,中小城市;

4,四级城市;

5,乡村;

6,其它特殊接入点;

UI测试:

1,外观;

2,内容测试(语法,语义,流程,标题);

3,移动设备;

4,图片页;

 

前端:

1,客户端缓存+内存缓存+数据库缓存(与内存缓存互为独立;没有重复缓存);

2,内容压缩;

3,网卡加速,SSL加速,XML加速,HTML压缩;

4,UI元素的分步加载(XSL INCLUDE);

5,前端反向代理

 

系统运行监控(运维):

1,系统状态监控:节点工作状态:

2,服务追踪:用户事务日志(IP标识。使用在线事务审计数据);

2,报“错”机制--》电子邮件;

 

网络负载均衡可选方案:

1,基于特定服务器软件的负载均衡

2,基于DNS的负载均衡

3,基于四层交换技术的负载均衡(收信IP!=送信IP)

4,基于七层交换技术的负载均衡

5,站点镜像技术

网卡集群:

1, 上行假设轻负载。但要防攻击(DoS);

2,

 

安全:

1,端口关闭;

2,一阶段审计;

 

机房服务质量监督:

1,防火墙策略;

2,带宽;

3,接入稳定性;

4,路由可达性。

5,共享或独享带宽。

 

运筹学:

规划论:线性,动态;

排队论。

最短任务优先(排队论):

1,快速疏散。短的走的快;短任务拉开=》时间上的均匀分布;

2,最短周转时间;

3,最短服务时间;

4,全系统优化(人,机,软)。

 

内存管理开销:

1,GC的线程开销(内存,CPU周期,线程管理,计数);

2,程序不创建任何对象。所有对象在对象池(COMMONS POOL)中获取(和创建)。对象数量的多少由程序自动决定。但是要记得在线程任务结束后主动还回对象(这才是关掉GC的真正开销。因为从对象池获取对象与NEW一个对象的代码量其实是一样的。这里指的是程序员角度的开销);

CPU优先级:

1,CPU角度==》全部非阻塞任务的随时待“命”。最小程度的IO捆绑;

 

 

有的:

协程。微线程。无栈。进程。

要求:

大量大文件请求(压缩,缓存,IO压力);

大量数据请求(主要:商品数据,索引数据==》IO压力);

大量事务(购买,支付==》数据库更新);

主要挑战:大的(效率,带宽,内存==》索引数据,商品数据)。多的(效率)。

IO效率==》字节流。

内存的主要消耗者分析:UI,事务优先。其余全用于索引数据,商品数据的缓存与工作空间(硬盘==》网卡拷贝)。

处理器不用分析。网卡比特流用专用网卡解决。内容用XML加速器。

专用设备:

  专用网卡。专用内存。专用硬盘。专用主板。专用CPU。

冗余设备:

  内存,硬盘,CPU,网卡,电源。

系统级设备:

  双机热备。

数据设备:

  数据冷备,热备,灾备。

服务器论坛学习。

 

加速设备:

网卡(比特流),XML,SSL。
 

而MAP/REDUCE因为是在生产环境中提出并成功应用的生产计划/模式,天生具有很强的实践性。

MAP/REDUCE加工备忘:

1,有管理的,全方位的作业调度:水平调度---给谁做;垂直调度--谁先做;内部调度---机器系统调度;外部调度---人机系统调度);

2,调度策略的实时调整(系统性能实时评估-->反馈机制---》策略调整(量化调整与方案调整));

3,内部作业的划分(几个MAP,几个REDUCE):

4,内存模型(时变特性);

5,中间结果 - 平面;

6,系统进化(约束适应,新质量,新功能);

7,延续,闭包的价值分析(与对象的对比);

8,规则引擎的应用;

9,接口封装的形式(REST,XML,WEB SERVICE)与ESB的应用;

内部作业的划分详细包括:

1,UI引擎(内容服务--小内存+大磁盘,高带宽:客户==首页+搜索+购买+支付+注册,商品,商务,图片);

2,数据引擎(数据服务:索引,商品,关联商品,物流,支付,评论,交易历史,商务支持,交易统计);

3,事务引擎(订单,支付,评论,评论审核,注册,商务事务,审计);

5,I/O引擎;

6,性能/成本引擎:浏览器缓存(更新周期=日期后缀)+内容压缩=》带宽

 

相关备忘:

架构目标的种类:

1,抽象建模---多主体系统。自由系统。提供相对自由的资源分配模型;

2,事务处理---单主体系统。服务型系统。对外强调服务。内部则强调个体服从整体。所以个体是不考虑的。只考虑整体。所以只有一个主体,即整体。这样的系统没有个体---象一支军队。存在的是一个Team,不是人;

3,实时系统---无主体系统。响应型系统。不是强调,而是必须做到即时响应。在这样的系统中,什么都不存在。所有主体都位于系统以外。考虑问题时,都不考虑系统。考虑的全是系统以外的因子。系统被假设为不存在的。比如,可以假设它为上帝,将满足你的所有要求。上帝是不需要考虑的。因为她是完美的。她没有缺陷。她将响应你全部的请求;

4,图形系统---工具型系统。领域系统。可有主体,可没有主体。都行;

5,云计算---单主体系统。事务型系统。服务型系统。强调整体性能与效率。个体同样不考虑(需要对象模型的分析性平台除外)。

6,。。。。。。

 

领域建模相关备忘:

1,领域建模需要对相关领域进行元操作提取。也就是说,这种系统的需求分析不应该具体化。而应该保持一定程度上的抽象性。即,用户说的话,我们记下来,并且写到系统中去。详细设计的目的不是将用户需求全都变成具体功能,而是该具体的具体,该抽象的抽象。具体与抽象的边界要与用户进行反复的确认与理解才能得到。该抽象的被具体了,与该具体的被抽象了,都是不对的。

需要的是脑子。

 

http://www.translatorsbase.com/UserAccount.aspx