PaaS基础学习(1)
PaaS学习笔记目录
PaaS基础学习(1)
在PaaS上开发Web、移动应用(2)
PaaS优点与限制(3)
1. 基础单元,一个基础单元就是所研究实体的最小的不可分割的单元。
2. PaaS与IaaS对比
- PaaS平台即服务,IaaS基础设施即服务。
- 对于IaaS(基础设施即服务)来说,基础单元就是资源。
- 这里的资源是指服务器、磁盘、网络以及IP地址。
- 所以的工具都以资源为中心,所以的文档都是关于资源的
- 对于PaaS(平台即服务)来说,基础单元就是应用。就是一个系统。
- 平台即服务供应商面对的是代码和服务。
3. 资产托管
- 当用户上传文件时,无论是简历照片、电影、附件,还是其他任何形式的文件,都属于资产。
- 常用的资产存储方式有两种:
- 大字段(大二进制对象)存储,也被称为对象存储。
- Blob存储才有键值存储并通过应用编程接口访问,例如亚马逊的S3。
- 一旦采用对象存储机制,API接口会给上传资产返回一个URL,这时用户可以存储URL链接。
- 对象存储的好处是上传的所有文件,被自动复制到不同服务器上。
- 文件存储。文件存储是创投开发过程中常用的存储系统。
4. 缓存
- 缓存是影响网页架构可扩展性的一个重要部分,而且形式多样。
- 一种比较原始但却很高效的缓存方式是获取服务器端产生的动态内容,以文件形式下载都磁盘,以后就从磁盘上调取该文件。
- 还有一种缓存技术是讲产生的代码存放在RAM或NoSQL数据库缓存中。
5. 异步处理
平台即服务供应商经常会杀掉长时间运行的、面向Web的进场。所以异步处理很重要。
- 创建异步过程
伪代码
开始的时候:
for each task in tasks
do
//可能要持续一会
process the task
end
然后:
for each task in tasks
do
//只需要一毫秒
queue task for processing
end
处理代码类似这样:
loop
do
grab task from queue
process the task
end
- 后台任务的高级调度技术
- Python的Celery(http://wwww.celeryproject.org),它提供基于分布式消息传递的异步任务队列,而且支持特定时刻的调度任务。
- Celery采用RabbitMQ、Redis、Beanstalk、MongoDB或CouchDB作为后端,支撑它的服务。