SlideShare una empresa de Scribd logo
1 de 66
42qu.com
基于 Th rift , 编写 VPS 管理系
统
以及等等胡思乱想 ...



张沈鹏
42q u .c o m 创始人
zs p 042@ g m ail.c o m

                          42qu.com , 找到给你答案的人
Th rift 是什么 ?

• 一个跨语言的远程调用框架

• 2007 年 Facebook 最初开发

• 2008 年 Apache 开源项目


                   42qu.com , 找到给你答案的人
Th rift 的项目初衷
fac e b o o k 创造 th rift 是为了解决
1 . 各系统间大数据量的传输通信
2 . 不同语言系统之间的跨平台

参考资料 :

   thrift 入门介绍
   http://wenku.baidu.com/view/95ed8e2c0066f5335a81213d.html


   Facebook 的系统架构
   http://coolshell.cn/articles/4549.html
   http://www.quora.com/What-is-Facebooks-architecture


                                                         42qu.com , 找到给你答案的人
Wh at is Fac e b o o k's arc h ite c tu re ?
• B u s in e s s lo g ic is e xp o s e d as s e rvic e s u s in g
  Th rift . S o m e o f th e s e s e rvic e s are
  im p le m e n te d in PH P, C + + o r Java d e p e n d in g
  o n s e rvic e re q u ire m e n ts (s o m e o th e r
  lan g u ag e s are p ro b ab ly u s e d ...)

• 业务逻辑以 S e rvic e 的形式存在,其使用
  Th rift 。这些 S e rvic e 根据需求的不同由 PH P ,
  C + + 或 Java 实现(也可以用到了其它的一些语
  言… … )

  h ttp ://www.q u o ra.c o m /Wh at- is - F ac e b o o ks - arc h ite c tu re
MVC
• 我个人的理解

View
• PH P = Pyth o n 中的模版层 ( 比如 m ako ,
  j j)
   in a


Controller
• Th rift , 背后各种语言
Th rift 谁在用 ?
                                                                                 联合创始人
                            Fac e b o o k   前首席技术官 C TO       亚当 · 德安杰罗 (Ad am D 'An g e lo )
            Fac e b o o k                     前项目工程师            查理 · 奇弗 (C h arlie C h e e ve r)




• Th rift 用于系统后端数据的通信
• 服务端是用 C + + 来实现的,客户端则是 p yth o n

参考资料
h ttp ://www.p h ilwh ln .c o m /q u o ras - te c h n o lo g y- e xam in e d #th rift



                                                           42qu.com , 找到给你答案的人
Th rift 谁在用 ?


h o n g q n ( 豆瓣 C TO )

   利用 Pas te S c rip t 简化基于 Th rift 的服务框架开发
   • h ttp ://www.s lid e s h are .n e t/h o n g q n /p as te - s c rip t- th rift


   合久必分,分久必合
   • h ttp ://www.s lid e s h are .n e t/h o n g q n /s s - 1 2662476



                                                       42qu.com , 找到给你答案的人
Th rift 谁在用 ?
                     中国宽带产业基金 (CBC Capital)
              主要投资者包括中信资本、新闻集团、电讯盈科、网通
领投的 7000 万美元的投资,该基金董事长为田溯宁 ( 前中国网通
                                CEO)




E ve rn o te ( 印象笔记 ) 用 Th irft 实现 API




                         42qu.com , 找到给你答案的人
RPC 有很多选择 ?

•   XML- RPC
•   S O AP
•   IC E
•   ...


               Wh y   Th rift ?
                            42qu.com , 找到给你答案的人
E ve rn o te 的心路历程


S o API To g e th e r: E ve rn o te an d Th rift

h ttp ://b lo g .e ve rn o te .c o m /te c h /201 1 /05/26/e ve rn o te - an d - th rift/




                                                          42qu.com , 找到给你答案的人
E ve rn o te 的心路历程
 在 2007 年当我们开始计划 E ve rn o te 服务的时候
 我们就知道在发布服务的那一天就需要同时支持

• 瘦客户端 ( 象浏览器 )
• 胖客户端

 这一点促使我们在设计 we b 用户界面之前就开始思考远
 程协议和客户端访问 API 接口

 而不是拖到几个月之后将 API 接口架在已经存在网站服务
 上

                         42qu.com , 找到给你答案的人
E ve rn o te 应用对 API 访问接口的需
                求
1 . 跨平台

08 年 2 月份发布的时候

产品代码有

 服务器端 JAVA
 客户端是 Win 32( 包括 Win Mo b ile ) C + +
 客户端 O b j C C o c o a (iO S )
          -

                            42qu.com , 找到给你答案的人
E ve rn o te 应用对 API 访问接口的需
                求
2. 二进制数据效率高



• 客户同步的便条信息中包含上百幅嵌入图,总共
  有 1 0M 字节大小

• 我们需要 API 接口用将近 1 5M 的带宽传输 1 5M
  的便条


                     42qu.com , 找到给你答案的人
E ve rn o te 应用对 API 访问接口的需
                求
3. 向上 / 向下兼容性



一旦有人在他的笔记本上安装了 1 .1 版

就不想在每次扩展数据模型时强迫升级本地软件




                 42qu.com , 找到给你答案的人
E ve rn o te 应用对 API 访问接口的需
                求
4. 各个语言原生支持

不想写针对每个客户端写大量解析 / 封装代码

这个费时又容易出错,也会使得 3 变得不切实际




                 42qu.com , 找到给你答案的人
E ve rn o te 应用对 API 访问接口的需
                求
5. 项目开源

 支持有标准可依或开源软件

 不想把服务 API 锁在一个商业产品上




                 42qu.com , 找到给你答案的人
E ve rn o te 应用对 API 访问接口的需
                求
6. 不要太大

 倾向于在每个移动客户端部署不超过 1 MB 的文件
 ,不要超过 200 个类




                 42qu.com , 找到给你答案的人
E ve rn o te 的人生抉择
•   我们花了几个月时间来研究和测试各种备选方案。 XML- RPC 和
    S O AP 在某些领域 ( 上面的 1 和 5) 很强。 Ze ro C 的 IC E 在别的领域
    (2 和 4) 很强。我们也争论过是否自己写一个专用的协议。

•   一个朋友推荐我们看一下 F ac e B o o k 最近开源的 Th rift 框
    架。 Fac e b o o k 在内部用它在后端服务器之间传递消息,它们之间经
    常跨越程序语言的界线 ( 如 p h p 到 c + + ) 。其他人好象也是用 Th ift
    做类似的事情:在后端服务器之间通信用。

•   我们寻求的跟上面这有一点不一样:这个框架可以用在服务器之间的
    通信中,但是也需要用在大量的客户端与服务器通过 in te rn e t 同步上
    。

    Th rift 是最适合我们需求
                                   42qu.com , 找到给你答案的人
Wh y Th rift ?
• 1 . 跨平台

• 我们用 Th rift 的接口定义语言定义好数据模
  型和服务操作

• 然后用它提供的编译器为各种不同语言生
  成客户端和服务器端的数据结构和服务接
  口调用。
                       42qu.com , 找到给你答案的人
Wh y Th rift ?
• 2. 二进制数据效率高


 如果我们指定二进制数据是 1 MB 的数据
 编码后在线路上传输的也就是 1 MB 左右




                  42qu.com , 找到给你答案的人
Wh y Th rift ?
• 3. 向上 / 向下兼容性

 这是 Th rift 真正适用的地方。如果你足够细心并
 且明白 th rift 是如何工作的话,你就能在不影响现
 有的客户端的情况下增加数据结构、字段、服务
 方法和函数参数


 3 年前发布的 Win d o ws 和 Mac 客户端在今天仍
 然能跟 E ve rn o te 同步

                     42qu.com , 找到给你答案的人
Wh y Th rift ?
• 4. 原生支持

 在那个时候
 Th rift 没有包含任何 O b j C C o c o a 支持
                     -

 这样我们 Mac 组的一个同事把这个加到了
 Th rift 编译器里。

                        42qu.com , 找到给你答案的人
Wh y Th rift ?
• 5. 代码开源


   F ac e b o o k
   把 th rift 交给了 ap ac h e 开源基金会




                       42qu.com , 找到给你答案的人
Wh y Th rift ?
• 6. 不要太大
 Th rift 运行库和生成的代码都很小,而且是直接了
 当。我能够很容易阅读和弄明白他们是如何工作
 的

 从那以后,它开始变得有点复杂

 因为开源 , 不同的贡献者添加了很多用例并作了
 一些优化,但是我要说,它跟其它方案比还是相
 当紧凑的

                   42qu.com , 找到给你答案的人
Wh y Th rift ?
• 最后的结果是 E ve rn o te 服务接口,这个让我们自己的客
  户 ( 几百个第三方应用 ) 使用原生代码跟一个通用的 API
  访问接口打交道。我们有超过 3 百万的活跃用户,经常在
  不同的平台上使用 e ve rn o te 。

数据更新 :

• 用户数量突破了 2500 万 , 超过 1 00 万的付费用户
• E ve rn o te C E O Ph il Lib in 指出, E ve rn o te 的付费用户占
  有率随着用户使用时间增长而增长。刚使用 E ve rn o te 一
  个月的用户中,付费的用户不超过 0.5% ,但在那些四年
  来一直陪伴 E ve rn o te 的老用户中,付费人群占到了 25%
  之多。
                                    42qu.com , 找到给你答案的人
为什么我要用 th rift
我在做什么事 ?



vp s .42q u .c o m
vp s .42q u .c o m
2 个月 , 1 1 6 个 VPS 用户
Wh o Are We ?


• vp s e e @ 南非

• p lan

• 我 ( 张沈鹏 )

                    42qu.com , 找到给你答案的人
Wh y we u s e th rift
• 我不懂虚拟化

• 他们不懂写网站

• 我不需要关心他们是怎么实现

• 他们不需要知道我是怎么实现
vp s .42q u .c o m 的 具体实现


h ttp s ://g ith u b .c o m /42q u /vp s

接口定义文件

h ttp s ://g ith u b .c o m /42q u /vp s /b lo b /m as te r/s aas .th rift
好处 1 : 强迫你去设计优雅的接口


PS : 传闻 G o o g le 流传着一句话
每一个优雅的接口背后都有一堆龌蹉的代码


接口是代码的防火墙 ( 隔离龌蹉的代码 )

明确责任的界限 ( 到底是谁的代码出了问题
 )
                 42qu.com , 找到给你答案的人
只暴露接口的哲学
  每个人只需要知道他应该知道的事情

乔布斯的保密哲学 ?
保证信息的最简化 , 不制造额外的信息噪音
和他的设计哲学其实是一样的

                所以 " 雷布斯 " 永远不是乔布斯
                           太多信息噪音 ...


PS : 我喜欢   比尔 . 盖茨   , 不喜欢乔布斯
                      42qu.com , 找到给你答案的人
S te ve Ye g g e :   Am azo n 的前员工,现任 G o o g le 员工




S te ve Y 对 Am azo n 和 G o o g le 平台的长篇大
                                论
   h ttp ://c o o ls h e ll.c n /artic le s /5701 .h tm l




                                    42qu.com , 找到给你答案的人
S te ve Ye g g e
•   我曾在 Am azo n 工作了六年半,现在,我在 G o o g le 的日子也差没不
    多这么长了。


•   对于这两家公司,有一件事总是萦绕着我— — 这种感觉一天比一天强
    烈─ ─ 那就是, Am azo n 每件事都做错了,而 G o o g le 每件事都做对
    了。


•   当然啦,这是很笼统的话,但却是惊人的准确,相当的疯狂吧。大概
    有一百甚至两百种不同的地方可以让我们去比较这两个公司,而
    G o o g le 可能在每一项都能胜出,如果我记的没错,除了其中 3 项以
    外。


•   因为,我曾用电子表格把这些项都列出来了,只是法务部门不会让我
    给任何人看,即使人事招募部门很喜欢这个报表。
但是
他们有一件事做的非常非
常好,其好到可以把其他
政治,理念,技术上的消
耗和混乱完全弥补回来。
有一天, Je ff B e zo s 下了一份命令

• 我们现在要说的这个人,是在多个严肃的公开场合说要来
  Am azo n 工作就应该付他钱才对的人。

• 当有人跟他意见不同时,他会递出写有他名字的黄色即时
  贴以提醒那个人“ 谁是公司的老大 ” 。这家伙是… …
  S te ve Jo b s

• 我想,除了没有品味和设计能力,他们很相似。千万别误
  解我, B e zo s 是个绝顶聪明的人,只不过他把那些正常
  的管控搞得像嗑了药的嬉皮士一样罢了。

• 所以,有一天, Je ff B e zo s 下了一份命令。当然,他总
  是这么干,这些命令对人们的影响来说就像用橡皮槌敲击
  蚂蚁一样。
命令有几个要点



    42qu.com , 找到给你答案的人
1


所有团队的程序模块都要以
通过 S e rvic e In te rfac e 方
式将其数据与功能开放出来


                  42qu.com , 找到给你答案的人
2




团队间的程序模块的信息通
信,都要通过这些接口。


         42qu.com , 找到给你答案的人
3
除此之外没有其它的通信方式

其他形式一概不允许:不能使用直接链结
程序、不能直接读取其他团队的数据库、
不能使用共享内存模式、不能使用别人模
块的后门、等等,等等,唯一允许的通信
方式只能是能过调用 S e rvic e In te rfac e 。


                     42qu.com , 找到给你答案的人
4



任何技术都可以使用。比如:
H TTP 、 C o rb a 、 Pu b s u b 、自定义
的网络协议、等等,都可以, B e zo s
不管这些
5
所有的 S e rvic e In te rfac e ,毫无
例外,都必须从骨子里到表面上设
计成能对外界开放的。

也就是说,团队必须做好规划与
设计,以便未来把接口开放给全
世界的程序员,没有任何例外。
6


不这样的做
  会被
 炒鱿鱼
hongq n

分久必合 , 合久必分
服务 VS 库
张沈鹏 补充 :)

 服务和库的本质区别 , 服务有数据

 • 库比作开源项目
   – 比如 d n s p o d 开源 d n s 服务器


 • 服务是一个解决方案
   – d n s p o d 提供免费的 d n s 解析服务

                               42qu.com , 找到给你答案的人
服务 VS 库

• 张沈鹏 补充 :)

 – 服务可以卖给全世界 ~ ^_^

  • S te ve Y 对 Am azo n 和 G o o g le 平台的长篇
    大论

  • 不要去做 "in - h o u s e p ro g ram m e r"

                               42qu.com , 找到给你答案的人
不要去做 "in - h o u s e s o ftware "
服务 VS 库

• Jo e l S p o ls ky 在耶鲁大学的演讲(上)

 Jo e l S p o ls ky 是一个美国的软件工程师,他的网络日志 "Jo e l谈软
 件 " ( Jo e l o n S o ftware )非常有名,读者人数可以排进全世界前
 1 00 名。




                               42qu.com , 找到给你答案的人
服务 VS 库

• 毕业以后, Jo e l先在微软公司干了一段日子,然后回到
  纽约,进入维亚康母公司( Viac o m ),为这家巨型的娱
  乐传播公司编写软件,成为 IT 部门里一个程序员( in -
  h o u s e p ro g ram m e r )

• 后来, Jo e l回忆起来,认为这是他一生中最痛苦的日子
  ,并且劝告计算机系的学生尽可能


  不要去做 " in- ho us e p ro g ra mme r"

                        42qu.com , 找到给你答案的人
服务 VS 库

in- ho us e p ro g ra mme r


传统公司 IT 部门里的程序员
只属于公司内部的维护人员
而不是直接从事核心业务的人员
h ttp ://www.ru an yife n g .c o m /b lo g /2007/1 2/jo e l_s p o ls ky_talk_at_yale _p art_i.h tm l
或
h ttp ://b lo g .c s d n .n e t/p o n g b a/artic le /d e tails /1 91 8649




                                                               42qu.com , 找到给你答案的人
in- ho us e p ro g ra mme r
• 因为做 in - h o u s e 软件,你永远不会像做
  fac e b o o k 那样实现的功能跟公司命运息息相关,
  后者你可以花上一个星期去捣鼓界面上的一个小
  特性,因为你的产品是要给大家用的
  你有机会实现真正漂亮的东东

• 另外,你能得到上司的重视,你的职业生涯与你
  的技术挂钩。

• 而作 in - h o u s e 软件你就只能跟另外两个人猥琐
  在一个阴暗的办公室角落,面朝没有窗户的墙壁
  ,挥汗如雨地猛敲 H TML 代码;而产品经理本人
  则坐在宽敞明亮的大办公室里面晃悠。
我的衍生



 不要开发一个东西
只打算给自己公司内部用
嗯, B e zo s 领悟到的大事是

为了销售书籍和各种商品需要的基础架构,这个
基础架构可以被转变成为绝佳计算平台
( C o m p u tin g Platfo rm )。

所以,现在他们有了 Am azo n E las tic C o m p u te
C lo u d (亚马逊弹性运算云平台
E C 2 ), Am azo n E las tic
Map Re d u c e , Am azo n Re latio n al D atab as e
S e rvic e (亚马逊关系数据库服务)

以及其他可到 AWS aws .am azo n .c o m 查得到的
一堆 S e rvic e
am azo n
亚马逊最奇怪的生意:

 土耳其机器人
 Mechanical Turk

 其代表的重要理念— — 一切与亚马逊老总杰夫 · 贝佐斯有
 关的事情都蕴含着重要理念— — 是将电脑无法完成的无数
 琐碎的脑力工作自动化

 IBM 的沃森( Watson )机器人也干不了这些事儿。(“
 亚马逊土耳其机器人” 是一种众包网络集市,能使计算机
 程序员调用人类智能来执行目前计算机尚不足以胜任的任
 务。
土耳其机器人
• 沃尔夫冈 · 冯 · 坎佩伦( Wo lfg an g vo n
  Ke m p e le n ) 1 770 年打造了一套所谓的自
  动下棋机,击败了当时一些最优秀的棋
  手,更让其他所有人目瞪口呆。奥妙所
  在:一位象棋大师藏在机器里头。
• 而藏在亚马逊的土耳其机器人里面则是数
  以千计的大活人,随时准备完成平台上发
  布的超过 1 5 万种工作。
用例

• 马特 · 理查森( Matt Ric h ard s o n )之手的
  奇特相机,设计初衷就是,如何用 20 个字
  来描述一张照片。

• 这款相机目前被称为“ 白描相机
  ( D e s c rip tive C am e ra )” ,使用一张文
  字描述的打印字条来取代实际拍摄的图
  像。
• h ttp ://te c h 2ip o .c o m /50980/
起源


亚马逊卖书

图书的商品信息需要人工去完善
总结
• 只有当你想把一个东西卖给全世界的时候
  你才有可能去把一个事情做好
        而不是 j s t wo rk
             u

• 只有当一个东西能卖到钱的时候
  你才有动力去把一件事情做好
广告 : 我们卖钱的服务
• 欢迎购买我们的 vp s
                        vp s .42q u .c o m



• p yth o n 网站开发 201 2 暑期 基础入门班 报名中
  1 6 天的课时 ( 周一 至 周五 下午 )
    收费 2500, 限 1 5 人
                           邮箱 :
  42q u .p y@ g m ail.c o m
42qu.com
找到给你答案的人

Más contenido relacionado

Similar a 42qu thrift1

Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平drewz lin
 
2006 recycle opensourceprojects
2006 recycle opensourceprojects2006 recycle opensourceprojects
2006 recycle opensourceprojectsGeorge Ang
 
給軟體工程師的不廢話 R 語言精要班
給軟體工程師的不廢話 R 語言精要班給軟體工程師的不廢話 R 語言精要班
給軟體工程師的不廢話 R 語言精要班台灣資料科學年會
 
HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程Souyi Yang
 
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座NTC.im(Notch Training Center)
 
【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文
【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文
【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文MAKERPRO.cc
 
先不談 agile 不 agile 了,你有聽過 deadline 嗎?
先不談 agile 不 agile 了,你有聽過 deadline 嗎?先不談 agile 不 agile 了,你有聽過 deadline 嗎?
先不談 agile 不 agile 了,你有聽過 deadline 嗎?Terry Wang
 
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱84zhu
 
开源社区生生不息的创新土壤
开源社区生生不息的创新土壤开源社区生生不息的创新土壤
开源社区生生不息的创新土壤Steven Cheng
 
Dreaming Infrastructure
Dreaming InfrastructureDreaming Infrastructure
Dreaming Infrastructurekyhpudding
 
互联网创业服务器运维工具集
互联网创业服务器运维工具集互联网创业服务器运维工具集
互联网创业服务器运维工具集zhen chen
 
01 产品基础知识培训
01 产品基础知识培训01 产品基础知识培训
01 产品基础知识培训jackieit
 
聊天機器人概論 Introduce to chat bot sevices
聊天機器人概論 Introduce to chat bot sevices聊天機器人概論 Introduce to chat bot sevices
聊天機器人概論 Introduce to chat bot sevicesDuran Hsieh
 
高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程Souyi Yang
 
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
困境與轉型:一個小型開發團隊的 DevOps 學習之旅困境與轉型:一個小型開發團隊的 DevOps 學習之旅
困境與轉型:一個小型開發團隊的 DevOps 學習之旅Chen Cheng-Wei
 
軟體組裝心得分享
軟體組裝心得分享軟體組裝心得分享
軟體組裝心得分享Wen Liao
 
Csdn Java电子杂志第1期
Csdn Java电子杂志第1期Csdn Java电子杂志第1期
Csdn Java电子杂志第1期yiditushe
 

Similar a 42qu thrift1 (20)

Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
 
2006 recycle opensourceprojects
2006 recycle opensourceprojects2006 recycle opensourceprojects
2006 recycle opensourceprojects
 
給軟體工程師的不廢話 R 語言精要班
給軟體工程師的不廢話 R 語言精要班給軟體工程師的不廢話 R 語言精要班
給軟體工程師的不廢話 R 語言精要班
 
HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程
 
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
 
【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文
【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文
【1110ROS社群開講】如何打造與人一起學習的機器檯燈_鄭凱文
 
先不談 agile 不 agile 了,你有聽過 deadline 嗎?
先不談 agile 不 agile 了,你有聽過 deadline 嗎?先不談 agile 不 agile 了,你有聽過 deadline 嗎?
先不談 agile 不 agile 了,你有聽過 deadline 嗎?
 
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱
 
开源社区生生不息的创新土壤
开源社区生生不息的创新土壤开源社区生生不息的创新土壤
开源社区生生不息的创新土壤
 
Dreaming Infrastructure
Dreaming InfrastructureDreaming Infrastructure
Dreaming Infrastructure
 
互联网创业服务器运维工具集
互联网创业服务器运维工具集互联网创业服务器运维工具集
互联网创业服务器运维工具集
 
01 产品基础知识培训
01 产品基础知识培训01 产品基础知识培训
01 产品基础知识培训
 
聊天機器人概論 Introduce to chat bot sevices
聊天機器人概論 Introduce to chat bot sevices聊天機器人概論 Introduce to chat bot sevices
聊天機器人概論 Introduce to chat bot sevices
 
高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程
 
Hadoop ecosystem
Hadoop ecosystemHadoop ecosystem
Hadoop ecosystem
 
getPDF.aspx
getPDF.aspxgetPDF.aspx
getPDF.aspx
 
getPDF.aspx
getPDF.aspxgetPDF.aspx
getPDF.aspx
 
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
困境與轉型:一個小型開發團隊的 DevOps 學習之旅困境與轉型:一個小型開發團隊的 DevOps 學習之旅
困境與轉型:一個小型開發團隊的 DevOps 學習之旅
 
軟體組裝心得分享
軟體組裝心得分享軟體組裝心得分享
軟體組裝心得分享
 
Csdn Java电子杂志第1期
Csdn Java电子杂志第1期Csdn Java电子杂志第1期
Csdn Java电子杂志第1期
 

Más de Zoom Quiet

01s0401 go,互联网时代的c语言 许式伟
01s0401 go,互联网时代的c语言   许式伟01s0401 go,互联网时代的c语言   许式伟
01s0401 go,互联网时代的c语言 许式伟Zoom Quiet
 
Zoz pwned-by-the-owner-表惹程序猿
Zoz pwned-by-the-owner-表惹程序猿Zoz pwned-by-the-owner-表惹程序猿
Zoz pwned-by-the-owner-表惹程序猿Zoom Quiet
 
金山云查询系统改进之路1
金山云查询系统改进之路1金山云查询系统改进之路1
金山云查询系统改进之路1Zoom Quiet
 
Zh120226techparty zd-story
Zh120226techparty zd-storyZh120226techparty zd-story
Zh120226techparty zd-storyZoom Quiet
 
Zh120226techparty velocity2011-review
Zh120226techparty velocity2011-reviewZh120226techparty velocity2011-review
Zh120226techparty velocity2011-reviewZoom Quiet
 
Zh120226techparty jeff kit-ios-toolbox
Zh120226techparty jeff kit-ios-toolboxZh120226techparty jeff kit-ios-toolbox
Zh120226techparty jeff kit-ios-toolboxZoom Quiet
 
Velocity2011分享
Velocity2011分享Velocity2011分享
Velocity2011分享Zoom Quiet
 
陈正 Introduction to-sae_python
陈正   Introduction to-sae_python陈正   Introduction to-sae_python
陈正 Introduction to-sae_pythonZoom Quiet
 
111218 zhtechparty-panda讲稿
111218 zhtechparty-panda讲稿111218 zhtechparty-panda讲稿
111218 zhtechparty-panda讲稿Zoom Quiet
 
111218 zhtechparty-移动互联网产品需求分析
111218 zhtechparty-移动互联网产品需求分析111218 zhtechparty-移动互联网产品需求分析
111218 zhtechparty-移动互联网产品需求分析Zoom Quiet
 
111218 zhtechparty-zd-浅谈symbian开发
111218 zhtechparty-zd-浅谈symbian开发111218 zhtechparty-zd-浅谈symbian开发
111218 zhtechparty-zd-浅谈symbian开发Zoom Quiet
 
金山卫士界面框架
金山卫士界面框架金山卫士界面框架
金山卫士界面框架Zoom Quiet
 
111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysql111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysqlZoom Quiet
 
111030 gztechparty-小路-sophia
111030 gztechparty-小路-sophia111030 gztechparty-小路-sophia
111030 gztechparty-小路-sophiaZoom Quiet
 
080328 linux2 bsd
080328 linux2 bsd080328 linux2 bsd
080328 linux2 bsdZoom Quiet
 
110929 kn-手机软件测试
110929 kn-手机软件测试110929 kn-手机软件测试
110929 kn-手机软件测试Zoom Quiet
 
Socialmediaaroundtheworld2011
Socialmediaaroundtheworld2011Socialmediaaroundtheworld2011
Socialmediaaroundtheworld2011Zoom Quiet
 

Más de Zoom Quiet (20)

Go courseday3
Go courseday3Go courseday3
Go courseday3
 
Go courseday2
Go courseday2Go courseday2
Go courseday2
 
Go courseday1
Go courseday1Go courseday1
Go courseday1
 
01s0401 go,互联网时代的c语言 许式伟
01s0401 go,互联网时代的c语言   许式伟01s0401 go,互联网时代的c语言   许式伟
01s0401 go,互联网时代的c语言 许式伟
 
Zoz pwned-by-the-owner-表惹程序猿
Zoz pwned-by-the-owner-表惹程序猿Zoz pwned-by-the-owner-表惹程序猿
Zoz pwned-by-the-owner-表惹程序猿
 
金山云查询系统改进之路1
金山云查询系统改进之路1金山云查询系统改进之路1
金山云查询系统改进之路1
 
Zh120226techparty zd-story
Zh120226techparty zd-storyZh120226techparty zd-story
Zh120226techparty zd-story
 
Zh120226techparty velocity2011-review
Zh120226techparty velocity2011-reviewZh120226techparty velocity2011-review
Zh120226techparty velocity2011-review
 
Zh120226techparty jeff kit-ios-toolbox
Zh120226techparty jeff kit-ios-toolboxZh120226techparty jeff kit-ios-toolbox
Zh120226techparty jeff kit-ios-toolbox
 
Velocity2011分享
Velocity2011分享Velocity2011分享
Velocity2011分享
 
陈正 Introduction to-sae_python
陈正   Introduction to-sae_python陈正   Introduction to-sae_python
陈正 Introduction to-sae_python
 
111218 zhtechparty-panda讲稿
111218 zhtechparty-panda讲稿111218 zhtechparty-panda讲稿
111218 zhtechparty-panda讲稿
 
111218 zhtechparty-移动互联网产品需求分析
111218 zhtechparty-移动互联网产品需求分析111218 zhtechparty-移动互联网产品需求分析
111218 zhtechparty-移动互联网产品需求分析
 
111218 zhtechparty-zd-浅谈symbian开发
111218 zhtechparty-zd-浅谈symbian开发111218 zhtechparty-zd-浅谈symbian开发
111218 zhtechparty-zd-浅谈symbian开发
 
金山卫士界面框架
金山卫士界面框架金山卫士界面框架
金山卫士界面框架
 
111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysql111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysql
 
111030 gztechparty-小路-sophia
111030 gztechparty-小路-sophia111030 gztechparty-小路-sophia
111030 gztechparty-小路-sophia
 
080328 linux2 bsd
080328 linux2 bsd080328 linux2 bsd
080328 linux2 bsd
 
110929 kn-手机软件测试
110929 kn-手机软件测试110929 kn-手机软件测试
110929 kn-手机软件测试
 
Socialmediaaroundtheworld2011
Socialmediaaroundtheworld2011Socialmediaaroundtheworld2011
Socialmediaaroundtheworld2011
 

42qu thrift1

  • 2. 基于 Th rift , 编写 VPS 管理系 统 以及等等胡思乱想 ... 张沈鹏 42q u .c o m 创始人 zs p 042@ g m ail.c o m 42qu.com , 找到给你答案的人
  • 3. Th rift 是什么 ? • 一个跨语言的远程调用框架 • 2007 年 Facebook 最初开发 • 2008 年 Apache 开源项目 42qu.com , 找到给你答案的人
  • 4. Th rift 的项目初衷 fac e b o o k 创造 th rift 是为了解决 1 . 各系统间大数据量的传输通信 2 . 不同语言系统之间的跨平台 参考资料 : thrift 入门介绍 http://wenku.baidu.com/view/95ed8e2c0066f5335a81213d.html Facebook 的系统架构 http://coolshell.cn/articles/4549.html http://www.quora.com/What-is-Facebooks-architecture 42qu.com , 找到给你答案的人
  • 5. Wh at is Fac e b o o k's arc h ite c tu re ? • B u s in e s s lo g ic is e xp o s e d as s e rvic e s u s in g Th rift . S o m e o f th e s e s e rvic e s are im p le m e n te d in PH P, C + + o r Java d e p e n d in g o n s e rvic e re q u ire m e n ts (s o m e o th e r lan g u ag e s are p ro b ab ly u s e d ...) • 业务逻辑以 S e rvic e 的形式存在,其使用 Th rift 。这些 S e rvic e 根据需求的不同由 PH P , C + + 或 Java 实现(也可以用到了其它的一些语 言… … ) h ttp ://www.q u o ra.c o m /Wh at- is - F ac e b o o ks - arc h ite c tu re
  • 6. MVC • 我个人的理解 View • PH P = Pyth o n 中的模版层 ( 比如 m ako , j j) in a Controller • Th rift , 背后各种语言
  • 7. Th rift 谁在用 ? 联合创始人 Fac e b o o k 前首席技术官 C TO 亚当 · 德安杰罗 (Ad am D 'An g e lo ) Fac e b o o k 前项目工程师 查理 · 奇弗 (C h arlie C h e e ve r) • Th rift 用于系统后端数据的通信 • 服务端是用 C + + 来实现的,客户端则是 p yth o n 参考资料 h ttp ://www.p h ilwh ln .c o m /q u o ras - te c h n o lo g y- e xam in e d #th rift 42qu.com , 找到给你答案的人
  • 8. Th rift 谁在用 ? h o n g q n ( 豆瓣 C TO ) 利用 Pas te S c rip t 简化基于 Th rift 的服务框架开发 • h ttp ://www.s lid e s h are .n e t/h o n g q n /p as te - s c rip t- th rift 合久必分,分久必合 • h ttp ://www.s lid e s h are .n e t/h o n g q n /s s - 1 2662476 42qu.com , 找到给你答案的人
  • 9. Th rift 谁在用 ? 中国宽带产业基金 (CBC Capital) 主要投资者包括中信资本、新闻集团、电讯盈科、网通 领投的 7000 万美元的投资,该基金董事长为田溯宁 ( 前中国网通 CEO) E ve rn o te ( 印象笔记 ) 用 Th irft 实现 API 42qu.com , 找到给你答案的人
  • 10. RPC 有很多选择 ? • XML- RPC • S O AP • IC E • ... Wh y Th rift ? 42qu.com , 找到给你答案的人
  • 11. E ve rn o te 的心路历程 S o API To g e th e r: E ve rn o te an d Th rift h ttp ://b lo g .e ve rn o te .c o m /te c h /201 1 /05/26/e ve rn o te - an d - th rift/ 42qu.com , 找到给你答案的人
  • 12. E ve rn o te 的心路历程 在 2007 年当我们开始计划 E ve rn o te 服务的时候 我们就知道在发布服务的那一天就需要同时支持 • 瘦客户端 ( 象浏览器 ) • 胖客户端 这一点促使我们在设计 we b 用户界面之前就开始思考远 程协议和客户端访问 API 接口 而不是拖到几个月之后将 API 接口架在已经存在网站服务 上 42qu.com , 找到给你答案的人
  • 13. E ve rn o te 应用对 API 访问接口的需 求 1 . 跨平台 08 年 2 月份发布的时候 产品代码有 服务器端 JAVA 客户端是 Win 32( 包括 Win Mo b ile ) C + + 客户端 O b j C C o c o a (iO S ) - 42qu.com , 找到给你答案的人
  • 14. E ve rn o te 应用对 API 访问接口的需 求 2. 二进制数据效率高 • 客户同步的便条信息中包含上百幅嵌入图,总共 有 1 0M 字节大小 • 我们需要 API 接口用将近 1 5M 的带宽传输 1 5M 的便条 42qu.com , 找到给你答案的人
  • 15. E ve rn o te 应用对 API 访问接口的需 求 3. 向上 / 向下兼容性 一旦有人在他的笔记本上安装了 1 .1 版 就不想在每次扩展数据模型时强迫升级本地软件 42qu.com , 找到给你答案的人
  • 16. E ve rn o te 应用对 API 访问接口的需 求 4. 各个语言原生支持 不想写针对每个客户端写大量解析 / 封装代码 这个费时又容易出错,也会使得 3 变得不切实际 42qu.com , 找到给你答案的人
  • 17. E ve rn o te 应用对 API 访问接口的需 求 5. 项目开源 支持有标准可依或开源软件 不想把服务 API 锁在一个商业产品上 42qu.com , 找到给你答案的人
  • 18. E ve rn o te 应用对 API 访问接口的需 求 6. 不要太大 倾向于在每个移动客户端部署不超过 1 MB 的文件 ,不要超过 200 个类 42qu.com , 找到给你答案的人
  • 19. E ve rn o te 的人生抉择 • 我们花了几个月时间来研究和测试各种备选方案。 XML- RPC 和 S O AP 在某些领域 ( 上面的 1 和 5) 很强。 Ze ro C 的 IC E 在别的领域 (2 和 4) 很强。我们也争论过是否自己写一个专用的协议。 • 一个朋友推荐我们看一下 F ac e B o o k 最近开源的 Th rift 框 架。 Fac e b o o k 在内部用它在后端服务器之间传递消息,它们之间经 常跨越程序语言的界线 ( 如 p h p 到 c + + ) 。其他人好象也是用 Th ift 做类似的事情:在后端服务器之间通信用。 • 我们寻求的跟上面这有一点不一样:这个框架可以用在服务器之间的 通信中,但是也需要用在大量的客户端与服务器通过 in te rn e t 同步上 。 Th rift 是最适合我们需求 42qu.com , 找到给你答案的人
  • 20. Wh y Th rift ? • 1 . 跨平台 • 我们用 Th rift 的接口定义语言定义好数据模 型和服务操作 • 然后用它提供的编译器为各种不同语言生 成客户端和服务器端的数据结构和服务接 口调用。 42qu.com , 找到给你答案的人
  • 21. Wh y Th rift ? • 2. 二进制数据效率高 如果我们指定二进制数据是 1 MB 的数据 编码后在线路上传输的也就是 1 MB 左右 42qu.com , 找到给你答案的人
  • 22. Wh y Th rift ? • 3. 向上 / 向下兼容性 这是 Th rift 真正适用的地方。如果你足够细心并 且明白 th rift 是如何工作的话,你就能在不影响现 有的客户端的情况下增加数据结构、字段、服务 方法和函数参数 3 年前发布的 Win d o ws 和 Mac 客户端在今天仍 然能跟 E ve rn o te 同步 42qu.com , 找到给你答案的人
  • 23. Wh y Th rift ? • 4. 原生支持 在那个时候 Th rift 没有包含任何 O b j C C o c o a 支持 - 这样我们 Mac 组的一个同事把这个加到了 Th rift 编译器里。 42qu.com , 找到给你答案的人
  • 24. Wh y Th rift ? • 5. 代码开源 F ac e b o o k 把 th rift 交给了 ap ac h e 开源基金会 42qu.com , 找到给你答案的人
  • 25. Wh y Th rift ? • 6. 不要太大 Th rift 运行库和生成的代码都很小,而且是直接了 当。我能够很容易阅读和弄明白他们是如何工作 的 从那以后,它开始变得有点复杂 因为开源 , 不同的贡献者添加了很多用例并作了 一些优化,但是我要说,它跟其它方案比还是相 当紧凑的 42qu.com , 找到给你答案的人
  • 26. Wh y Th rift ? • 最后的结果是 E ve rn o te 服务接口,这个让我们自己的客 户 ( 几百个第三方应用 ) 使用原生代码跟一个通用的 API 访问接口打交道。我们有超过 3 百万的活跃用户,经常在 不同的平台上使用 e ve rn o te 。 数据更新 : • 用户数量突破了 2500 万 , 超过 1 00 万的付费用户 • E ve rn o te C E O Ph il Lib in 指出, E ve rn o te 的付费用户占 有率随着用户使用时间增长而增长。刚使用 E ve rn o te 一 个月的用户中,付费的用户不超过 0.5% ,但在那些四年 来一直陪伴 E ve rn o te 的老用户中,付费人群占到了 25% 之多。 42qu.com , 找到给你答案的人
  • 28. 我在做什么事 ? vp s .42q u .c o m
  • 29. vp s .42q u .c o m
  • 30. 2 个月 , 1 1 6 个 VPS 用户
  • 31. Wh o Are We ? • vp s e e @ 南非 • p lan • 我 ( 张沈鹏 ) 42qu.com , 找到给你答案的人
  • 32. Wh y we u s e th rift • 我不懂虚拟化 • 他们不懂写网站 • 我不需要关心他们是怎么实现 • 他们不需要知道我是怎么实现
  • 33. vp s .42q u .c o m 的 具体实现 h ttp s ://g ith u b .c o m /42q u /vp s 接口定义文件 h ttp s ://g ith u b .c o m /42q u /vp s /b lo b /m as te r/s aas .th rift
  • 34. 好处 1 : 强迫你去设计优雅的接口 PS : 传闻 G o o g le 流传着一句话 每一个优雅的接口背后都有一堆龌蹉的代码 接口是代码的防火墙 ( 隔离龌蹉的代码 ) 明确责任的界限 ( 到底是谁的代码出了问题 ) 42qu.com , 找到给你答案的人
  • 35. 只暴露接口的哲学 每个人只需要知道他应该知道的事情 乔布斯的保密哲学 ? 保证信息的最简化 , 不制造额外的信息噪音 和他的设计哲学其实是一样的 所以 " 雷布斯 " 永远不是乔布斯 太多信息噪音 ... PS : 我喜欢 比尔 . 盖茨 , 不喜欢乔布斯 42qu.com , 找到给你答案的人
  • 36. S te ve Ye g g e : Am azo n 的前员工,现任 G o o g le 员工 S te ve Y 对 Am azo n 和 G o o g le 平台的长篇大 论 h ttp ://c o o ls h e ll.c n /artic le s /5701 .h tm l 42qu.com , 找到给你答案的人
  • 37. S te ve Ye g g e • 我曾在 Am azo n 工作了六年半,现在,我在 G o o g le 的日子也差没不 多这么长了。 • 对于这两家公司,有一件事总是萦绕着我— — 这种感觉一天比一天强 烈─ ─ 那就是, Am azo n 每件事都做错了,而 G o o g le 每件事都做对 了。 • 当然啦,这是很笼统的话,但却是惊人的准确,相当的疯狂吧。大概 有一百甚至两百种不同的地方可以让我们去比较这两个公司,而 G o o g le 可能在每一项都能胜出,如果我记的没错,除了其中 3 项以 外。 • 因为,我曾用电子表格把这些项都列出来了,只是法务部门不会让我 给任何人看,即使人事招募部门很喜欢这个报表。
  • 39. 有一天, Je ff B e zo s 下了一份命令 • 我们现在要说的这个人,是在多个严肃的公开场合说要来 Am azo n 工作就应该付他钱才对的人。 • 当有人跟他意见不同时,他会递出写有他名字的黄色即时 贴以提醒那个人“ 谁是公司的老大 ” 。这家伙是… … S te ve Jo b s • 我想,除了没有品味和设计能力,他们很相似。千万别误 解我, B e zo s 是个绝顶聪明的人,只不过他把那些正常 的管控搞得像嗑了药的嬉皮士一样罢了。 • 所以,有一天, Je ff B e zo s 下了一份命令。当然,他总 是这么干,这些命令对人们的影响来说就像用橡皮槌敲击 蚂蚁一样。
  • 40. 命令有几个要点 42qu.com , 找到给你答案的人
  • 41. 1 所有团队的程序模块都要以 通过 S e rvic e In te rfac e 方 式将其数据与功能开放出来 42qu.com , 找到给你答案的人
  • 44. 4 任何技术都可以使用。比如: H TTP 、 C o rb a 、 Pu b s u b 、自定义 的网络协议、等等,都可以, B e zo s 不管这些
  • 45. 5 所有的 S e rvic e In te rfac e ,毫无 例外,都必须从骨子里到表面上设 计成能对外界开放的。 也就是说,团队必须做好规划与 设计,以便未来把接口开放给全 世界的程序员,没有任何例外。
  • 47. hongq n 分久必合 , 合久必分
  • 48.
  • 49.
  • 50.
  • 51. 服务 VS 库 张沈鹏 补充 :) 服务和库的本质区别 , 服务有数据 • 库比作开源项目 – 比如 d n s p o d 开源 d n s 服务器 • 服务是一个解决方案 – d n s p o d 提供免费的 d n s 解析服务 42qu.com , 找到给你答案的人
  • 52. 服务 VS 库 • 张沈鹏 补充 :) – 服务可以卖给全世界 ~ ^_^ • S te ve Y 对 Am azo n 和 G o o g le 平台的长篇 大论 • 不要去做 "in - h o u s e p ro g ram m e r" 42qu.com , 找到给你答案的人
  • 53. 不要去做 "in - h o u s e s o ftware "
  • 54. 服务 VS 库 • Jo e l S p o ls ky 在耶鲁大学的演讲(上) Jo e l S p o ls ky 是一个美国的软件工程师,他的网络日志 "Jo e l谈软 件 " ( Jo e l o n S o ftware )非常有名,读者人数可以排进全世界前 1 00 名。 42qu.com , 找到给你答案的人
  • 55. 服务 VS 库 • 毕业以后, Jo e l先在微软公司干了一段日子,然后回到 纽约,进入维亚康母公司( Viac o m ),为这家巨型的娱 乐传播公司编写软件,成为 IT 部门里一个程序员( in - h o u s e p ro g ram m e r ) • 后来, Jo e l回忆起来,认为这是他一生中最痛苦的日子 ,并且劝告计算机系的学生尽可能 不要去做 " in- ho us e p ro g ra mme r" 42qu.com , 找到给你答案的人
  • 56. 服务 VS 库 in- ho us e p ro g ra mme r 传统公司 IT 部门里的程序员 只属于公司内部的维护人员 而不是直接从事核心业务的人员 h ttp ://www.ru an yife n g .c o m /b lo g /2007/1 2/jo e l_s p o ls ky_talk_at_yale _p art_i.h tm l 或 h ttp ://b lo g .c s d n .n e t/p o n g b a/artic le /d e tails /1 91 8649 42qu.com , 找到给你答案的人
  • 57. in- ho us e p ro g ra mme r • 因为做 in - h o u s e 软件,你永远不会像做 fac e b o o k 那样实现的功能跟公司命运息息相关, 后者你可以花上一个星期去捣鼓界面上的一个小 特性,因为你的产品是要给大家用的 你有机会实现真正漂亮的东东 • 另外,你能得到上司的重视,你的职业生涯与你 的技术挂钩。 • 而作 in - h o u s e 软件你就只能跟另外两个人猥琐 在一个阴暗的办公室角落,面朝没有窗户的墙壁 ,挥汗如雨地猛敲 H TML 代码;而产品经理本人 则坐在宽敞明亮的大办公室里面晃悠。
  • 59. 嗯, B e zo s 领悟到的大事是 为了销售书籍和各种商品需要的基础架构,这个 基础架构可以被转变成为绝佳计算平台 ( C o m p u tin g Platfo rm )。 所以,现在他们有了 Am azo n E las tic C o m p u te C lo u d (亚马逊弹性运算云平台 E C 2 ), Am azo n E las tic Map Re d u c e , Am azo n Re latio n al D atab as e S e rvic e (亚马逊关系数据库服务) 以及其他可到 AWS aws .am azo n .c o m 查得到的 一堆 S e rvic e
  • 60. am azo n 亚马逊最奇怪的生意: 土耳其机器人 Mechanical Turk 其代表的重要理念— — 一切与亚马逊老总杰夫 · 贝佐斯有 关的事情都蕴含着重要理念— — 是将电脑无法完成的无数 琐碎的脑力工作自动化 IBM 的沃森( Watson )机器人也干不了这些事儿。(“ 亚马逊土耳其机器人” 是一种众包网络集市,能使计算机 程序员调用人类智能来执行目前计算机尚不足以胜任的任 务。
  • 61. 土耳其机器人 • 沃尔夫冈 · 冯 · 坎佩伦( Wo lfg an g vo n Ke m p e le n ) 1 770 年打造了一套所谓的自 动下棋机,击败了当时一些最优秀的棋 手,更让其他所有人目瞪口呆。奥妙所 在:一位象棋大师藏在机器里头。 • 而藏在亚马逊的土耳其机器人里面则是数 以千计的大活人,随时准备完成平台上发 布的超过 1 5 万种工作。
  • 62. 用例 • 马特 · 理查森( Matt Ric h ard s o n )之手的 奇特相机,设计初衷就是,如何用 20 个字 来描述一张照片。 • 这款相机目前被称为“ 白描相机 ( D e s c rip tive C am e ra )” ,使用一张文 字描述的打印字条来取代实际拍摄的图 像。 • h ttp ://te c h 2ip o .c o m /50980/
  • 64. 总结 • 只有当你想把一个东西卖给全世界的时候 你才有可能去把一个事情做好 而不是 j s t wo rk u • 只有当一个东西能卖到钱的时候 你才有动力去把一件事情做好
  • 65. 广告 : 我们卖钱的服务 • 欢迎购买我们的 vp s vp s .42q u .c o m • p yth o n 网站开发 201 2 暑期 基础入门班 报名中 1 6 天的课时 ( 周一 至 周五 下午 ) 收费 2500, 限 1 5 人 邮箱 : 42q u .p y@ g m ail.c o m