- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
你所不知道的TAESDK
你所不知道的TAE SDK
非著名无证工程师 :桃谷
议程
● 系统架构
● 功能介绍
● 性能优化
● 未来展望
系统架构
通常认为,TAE SDK是一个离线开发工具。
实际的情况是怎么样呢?
系统架构
SDK与线上系统的交互关系
系统架构
SDK依赖组成部分
系统架构
SDK核心能组成部分
● PHP渲染引擎
● HTML安全过滤器
● CSS安全过滤器
● JS安全控制器
● Less编译器
● 静态文件服务器
功能介绍
● PHP渲染引擎
基于国外开源工程Quercus,增添“淘宝特
色”定制功能(比如:循环限制、执行时间超
时、功能白名单等)。
支持PHP 5 语言特性,并且限制部分危险的
功能。
功能介绍
● HTML安全过滤器
利用白名单机制,过滤非法HTML元素以及
属性。其目的防止第三方装修污染和作弊。
功能介绍
● CSS安全过滤器
与HTML过滤器类似,使用相同技术手段解
决CSS装修濡染 问题
功能介绍
● JS安全控制器
基于Google Caja 开源项 目,用于控制第三
方JS代码安全
功能介绍
● JS安全控制器
特点:
■ 本地JS安全编译 (同步或异步)
■ 动态个性化配置
■ 无需升级SDK
功能介绍
● Less编译器
功能介绍
● Less编译器
特性一:同步编译
当访问资源文件时,例如模板或模块被
预览 (或调试)下。
优点:编译稳定
缺点:可能带来一定的CSS相应延迟
功能介绍
● Less编译器
特性二:异步编译
当文件被修改时,例如手动修改模块Less
文件
优点:不影响CSS输 出响应
缺点:文件监控限制,可能出现不执行编
译
调优参数:conf/perties
功能介绍
● Less编译器
特性三:Native编译器
SDK默认情况下,使用了默认Less编译器
(JVM)。
Windows用户启动NewStartServer.bat,激
活Native (自带Node JS)编译器。
非Windows系统用户,SDK会自动识别本地
是否存在Node JS
功能介绍
● 静态文件服务器
基于Node JS + Express模块构建的静态文
件服务器。
目的:
a. 减少Java Web Server HTTP请求压力
b. 减少SDK内存消费
c. 减少并发请求的延迟
PS :经过测试,单一HTTP处理速度,Java和Node的相
应速度没有差别
性能优化
● 智能内存管理
● 异步编译
● 缓存技术
○ 数据缓存
○ 模块渲染缓存
○ 文件缓存
○ 客户端缓存
性能优化
● 智能内存管理
○ 智能内存清理
当系统资源负载较小时,SDK将会释放无用的内存。
(如果系统负载较高的话,清理过程会恶化系统性能)
○ 智能内存初始化
根据前次SDK运行占用内存情况信息,SDK启动时 自动
分配影响的内存空间,减少内存递进分配的时间消耗。
性能优化
● 缓存技术
○ 数据缓存
主要针对开放接口、系统模块等数据进行缓存,采用2
级缓存。(读写模式,即当数据修改后,读取的数据不会出
现脏数据)
优化结果:减少了模块 PHP渲染时CPU计算的时间,提
升了执行效率。
性能优化
● 缓存技术
○ 模块渲染缓存
当模块渲染内容没有发生变化时,不重复渲染
优化结果:减少模块重复渲染计算的时间
性能优化
● 缓存技术
○ 文件缓存
文档评论(0)