偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

云計算背后的秘密(8)-RPC框架

云計算
在云計算時代,需要進行分布式通信的機器越來越多,雖然可以通過使用HTTP協(xié)議來進行簡易地通信,但是如果能讓程序基于一個方便好用,并且非常專業(yè)的RPC框架的話,那是再好不過了。本文將給大家介紹當前兩個最受歡迎的RPC框架:其一是Google的Protocol Buffers;另一個則是Facebook的Thrift。

在過去Client-Server的年代,類似CORBA和RMI這樣的RPC框架層次不求,因為通過這類技術能將單機的IPC(Inter-process communication,進程間通信)擴展為多機之間的通訊,這對擴展性方面是非常有幫助的,但由于種種原因這些RPC框架并沒有被業(yè)界大規(guī)模的采用。

而在云計算時代,需要進行分布式通信的機器越來越多,雖然可以通過使用HTTP協(xié)議來進行簡易地通信,但是如果能讓程序基于一個方便好用,并且非常專業(yè)的RPC框架的話,那是再好不過了。本文將給大家介紹當前兩個最受歡迎的RPC框架:其一是Google的Protocol Buffers;另一個則是Facebook的Thrift。

Protocol Buffers

Protocol Buffers,是Google內部使用一種語言中立、平臺中立和可擴展的序列化結構數(shù)據(jù)的方式,并提供基于Java、C++ 和Python這三種語言的實現(xiàn),每一種實現(xiàn)都包含了相應語言的編譯器以及庫文件,并且在很多Google的產(chǎn)品中都有使用。它是一種二進制的格式,所以其速度是使用XML進行數(shù)據(jù)交換的10倍左右。它主要用于兩個方面:其一是普通的RPC(Remote Procedure Call,遠程方法調用)通信,它可用于分布式應用之間或者異構環(huán)境下的通信;其二是數(shù)據(jù)存儲方面,因為它自描述,而且壓縮很方便,所以可用于對數(shù)據(jù)進行持久化,比如存儲日志信息等,并可被MapReduce程序的處理。

Thrift

Thrift 是由 Facebook 開源的一個 RPC 框架,現(xiàn)在已經(jīng)成為了著名開源組織Apache的孵化項目之一,它主要的幾個特點是:其一是支持非常多的語言,包括在 Web開發(fā)中很常用的 PHP,以及 C++/Python/Java 等在 Web后端非常常用的語言,甚至還包括近期很流行的 Ruby和Erlang;其二是提供完整的 RPC 框架實現(xiàn),通過腳本就能生成通訊相關的框架代碼,比如搭建一個簡易的服務只需要幾分鐘,這樣使得開發(fā)者只需要集中精力處理好業(yè)務邏輯即可,;其三是擁有被 Facebook、Last.fm 等不少大規(guī)模互聯(lián)網(wǎng)應用驗證過的性能和可用性。總體而言,它的代碼實現(xiàn)是很優(yōu)秀的,邏輯層次非常清楚,易于定制擴展,同時通過框架生成代碼非常方便,也節(jié)省很多通訊方面的開發(fā)和調試時間,并且 Facebook號稱Thrift在速度上和Protocol Buffers相比有一定的優(yōu)勢。

無論是Protocol Buffers還是Thrift都非常優(yōu)秀,但是還是希望大家能夠按照應用自身的實際情況來進行抉擇,比如在開發(fā)YunTable時,由于性能和開發(fā)成本的考慮,我并沒有選擇這兩種RPC框架的其中之一,而是自建一套簡易的二進制通訊框架,并且非常簡單易用,同時速度飛快。

參考資料

1. Thrift –開源多語言RPC框.http://micy.cn/blog/post/35

2. Protocol Buffer簡介. http://kimilv.javaeye.com/blog/411092

作者簡介

吳朱華,之前在IBM中國研究院參與過多個云計算產(chǎn)品的開發(fā)工作,現(xiàn)在專注于YunTable(http://code.google.com/p/yuntable/)和YunEngine(http://yunengine.com/)的研發(fā),并即將發(fā)表《剖析云計算》一書,敬請期待。
 

【編輯推薦】

  1. 云計算背后的秘密(3)-BigTable
  2. 云計算背后的秘密(2)-GFS
  3. 云計算背后的秘密(1)-MapReduce
  4. 云計算背后的秘密(4)-Chubby
  5. 云計算背后的秘密(6)-NoSQL數(shù)據(jù)庫綜述
  6. 云計算背后的秘密

 

責任編輯:王勇 來源: it168
相關推薦

2010-11-25 09:54:14

云計算MapReduce

2010-11-25 10:05:51

云計算GFS

2010-11-29 10:28:32

云計算BigTable

2010-12-06 14:28:56

云計算Chubby

2011-01-04 10:00:41

云計算YunTable

2010-12-23 10:19:14

云計算NoSQL數(shù)據(jù)庫

2011-01-06 16:36:05

云計算Google

2020-04-15 13:55:28

Kubernetes容器

2019-08-13 11:18:01

云計算數(shù)據(jù)中心IT

2022-12-29 08:00:00

Transforme架構深度學習

2020-02-17 21:04:47

在線辦公教育

2020-06-19 12:06:12

云計算云平臺IT

2016-06-27 16:29:04

戴爾閃存

2012-05-21 21:53:05

2010-05-24 18:22:56

SNMP協(xié)議

2017-09-18 08:52:34

2010-10-25 10:13:16

ibmdwWebSphere

2013-03-01 10:45:36

Nike大數(shù)據(jù)

2012-02-24 09:07:53

云計算成本

2024-10-29 14:00:21

云計算虛擬網(wǎng)絡
點贊
收藏

51CTO技術棧公眾號