MB-03-微博应用也需要设计

由新浪微博的成功总结设计要素:

一、外观

  1. 简洁

  2. 发布按钮大大的

  3. 方便地上传图片

二、潜规则

  1. 转发和评论

  2. 支持 @

  3. 评论数的显示其实更像真正的博客

  4. 评论可以被回复,但不可以被转发

三、SAE - Sina App Engine

  1. 本地文件操作

   在SAE上不允许对本地文件系统进行写操作。这既是系统架构的要求,也是为了保证代码的安全和应用的性能。SAE 提供了 TMPFS 服务来解决临时文件的问题。TMPFS 服务为开发者提供了一个目录,开发者可以将文件写到这个目录下,但是当本次请求结束时,这个文件将不再存在。

    为了方便大家迁移项目,允许大家利用PHP Wrapper 通过文件系统函数来操作 SAE 的 Memcache 和 Storage。大家知道Smarty是很依赖文件系统的模板,但是通过 Wrapper 方式,只需要修改非常少的代码,就可以让 Smarty 改为使用SAE的Memcache服务。(https://code.google.com/p/smarty4sae/)

  2. 数据抓取

    出于安全原因,SAE 不允许应用直接抓取外部的数据。所有对外的抓取操作,都需要使用 Fetchurl 服务。相对于 CURL 来做,封装后的 Fetchurl 服务其实更为简单,也可以支持自定义头和 cookie 等操作。

  3. 数据库

    SAE 使用的是标准的 Mysql 数据库,所以以 Mysql 为核心的应用不用做任何修改就能使用。Mysql 的 host 和端口信息通过环境变量提供,直接在 Runtime 中获取就可以了。

建议大家使用 SaeMysql class 来操作 SAE 的数据库,因为这个 class 默认进行了主从分离,可以避免在高并发时出现锁表等问题。

  4. 分布式存储

    由于不允许对本地文件系统进行写操作,我们提供了分布式存储服务来帮大家存放一些应用运行过程中产生的文件,比如用户上传的图片等。使用SaeStorage可以方便的保持这些内容并生成可访问的URL。

  5. 开发者

  (1)申请 SAE 账号 http://sae.sina.com.cn, 新用户只能申请体验用户账号,需要上传合格的程序后才能申请正式账号的邀请码,通过邀请码才能成为正式账号。

  (2)程序在 SAE 上运行需要消费所谓的云豆,其实就是人民币了。可以被奖励,但是付费可能更保险。

  6. 架构


猜你喜欢

转载自cnmqw.iteye.com/blog/899391