March 15, 2010 by SLJ | Category:Web Structure | 1,049
如果你正在盘算着如何为你的新网站创建身份管理系统(通常也称为用户管理系统或权限管理系统)的话,在动手之前你一定要看看Dion Hinchcliffe写的这篇题为《现代Web身份:为什么你的Web应用应该支持OpenID、OAuth,以及可能应该支持Facebook Connect》的文章,你或许会在读完之后改变你的主意。在他看来,使用这些新一代Web身份管理系统是完成这一工作更快的做法,而且功能更强且更好。他认为通过这种方法:
- 可以更容易、更快捷和更安全地让使用者在你的站点建立他们身份。
- 可以让业务可以单点登录到你的应用。
- 把你的站点转变成为一个针对于第三方应用的平台,让这些应用可以安全地访问用户数据。
- 可以将你的站点或应用集成到使用者及其关系网的社交体验(social experience)中。
在简要回顾企业单点登录和Web身份管理的历史之后,Dion给出了当今实现Web单点登录的新思路:使用OpenID、OAuth和(可选的)Facebook Connect。
More »
October 6, 2009 by SLJ | Category:Web Structure | 7,745
最近,Facebook设计团队在其位于加州帕罗奥多市(Palo Alto)的总部,提到了他们为2.5亿用户设计的原理和方法。 他们特别强调了编写代码的重要性、较早并经常分享设计、从开始到结束都参与到一个项目中、以及不要爱上你的作品等,并多次提到要确保设计师有足够的技术来写代码。
- Facebook设计团队致力于产品设计、市场、UI模式、品牌以及前端开发。团队由15名产品设计是、5个UI工程师、5个用户体验设计师、4个交互设计师、以及一个1个内容策划。在这家1000人的公司中,共有25位设计师。
- 通过写前端代码将设计融入到公司的工程文化中去。
- 一个团队是如何为2.5亿用户设计的?4个前提:贯穿始终、早分享勤分享、自己动手、不爱上自己的设计。
1) 设计师需要从开始就参与进来:从策划到发布。这与其它公司不同。
- Facebook 花费很多时间以确保设计师能够自始至终参与到项目中。
- 比如:新版首页在3月份发布。需求简化和提高网站中信息传输方式的效率。同时涉及数据结构和视觉结构。
- 确定视觉效果后,开始写代码制作原型。边编码边设计允许你看到布局内的真实数据是如何工作的。
- 平衡权重——在主页设计中做一系列的探索,包括不断的在交互和视觉细节上。
- 让不同的团队在一起——使用了一个静态的模型以传达设计。通常并不提倡静态设计。
- 拥有一个能写代码的设计师能够了解细节并快速执行。
May 1, 2009 by SLJ | Category:Web Structure | 1,920
Facebook 的照片分享很受欢迎,迄今,Facebook 用户已经上传了150亿张照片,加上每张照片有四个不同尺寸的缩略图,就共有600多亿张图片,总容量超过1.5PB,而每周新增的照片为2亿2000万张,约25TB,高峰期,Facebook 每秒处理55万张照片,这些数字让如何管理这些数据成为一个巨大的挑战。本文由 Facebook 工程师撰写,讲述了他们是如何管理这些照片的。
旧的 NFS 照片架构
老的照片系统架构分以下几个层:
- 上传层接收用户上传的照片并保存在 NFS 存储层。
- 照片服务层接收 HTTP 请求并从 NFS 存储层输出照片。
- NFS存储层建立在商业存储系统之上。
因为每张照片都以文件形式单独存储,这样庞大的照片量导致非常庞大的元数据规模,超过了 NFS 存储层的缓存上限,导致每次招聘请求会上传都包含多次I/O操作。庞大的元数据成为整个照片架构的瓶颈。这就是为什么 Facebook 主要依赖 CDN 的原因。为了解决这些问题,他们做了两项优化:
- Cachr: 一个缓存服务器,缓存 Facebook 的小尺寸用户资料照片。
- NFS文件句柄缓存:部署在照片输出层,以降低 NFS 存储层的元数据开销。
新的 Haystack 照片架构
新的照片架构将输出层和存储层合并为一个物理层,建立在一个基于 HTTP 的照片服务器上,照片存储在一个叫做 haystack 的对象库,以消除照片读取操作中不必要的元数据开销。新架构中,I/O 操作只针对真正的照片数据(而不是文件系统元数据)。haystack 可以细分为以下几个功能层:
- HTTP 服务器
- 照片存储
- Haystack 对象存储
- 文件系统
- 存储空间
Recent Replies / 最新回复