RPC Framework for cloud computing

Source: Internet
Author: User
Keywords Cloud
In the past Client-server, RPC framework hierarchies such as CORBA and RMI did not seek because such technologies could extend a stand-alone IPC (inter-process communication, interprocess communication) to communication between multiple computers, This is very helpful for extensibility, but for a variety of reasons these RPC frameworks have not been adopted by the industry on a large scale. In the era of cloud computing, more and more machines are needed for distributed communications, although it can be easily communicated by using the HTTP protocol, but it would be great if the program was based on a handy, professional RPC framework. This article will introduce you to the current two most popular RPC frameworks: Google's Kyoto buffers and Facebook's thrift.

Kyoto buffers

Kyoto buffers is a way for Google to use a language-neutral, platform-neutral, extensible serialization of structured data, and provide implementations based on Java, C + +, and Python, each of which contains compilers for the language and library files, And it's used in a lot of Google products. It is a binary format, so the speed is about 10 times times the rate of data exchange using XML. It is mainly used in two aspects: one is ordinary RPC (remote Procedure call, remote method invocation) communication, it can be used in distributed applications or heterogeneous environment communication; The second is data storage, because it is self-describing and convenient to compress, so it can be used to persist data , such as storing log information, and can be processed by mapreduce programs.

Thrift

Thrift, an RPC framework open to Facebook, has now become one of the leading open-source organizations, Apache's hatching projects, and its main features are: the first is to support a very many languages, including PHP used in web development, and C++/python/java The most commonly used language on the back end of the web, including the recent popularity of Ruby and Erlang; the second is to provide a complete RPC framework implementation that enables scripting to generate communication-related framework code, such as building a simple service that takes only a few minutes, This allows developers to focus on the business logic, and the third is the performance and availability that has been validated by many large-scale Internet applications, such as Facebook and Last.fm. Overall, its code implementation is excellent, the logic level is very clear, easy to customize the extension, at the same time through the framework to generate code is very convenient, but also save a lot of communication aspects of development and debugging time, and Facebook claims thrift speed and Kyoto Buffers has some advantages over the other.

Both Kyoto buffers and thrift are very good, but I hope you can make the choice according to the actual situation, for example, in the development of yuntable, because of the performance and development cost considerations, I did not choose either of these two RPC framework, Instead, it builds a simple binary communication framework and is very easy to use and fast.

Resources

1. thrift– Open source Multilingual RPC box. Http://micy.cn/blog/post/35

2. Kyoto Buffer Introduction. http://kimilv.javaeye.com/blog/411092

Author Introduction

Wu Zhuhua, who previously participated in the development of several cloud computing products at the IBM China Academy, now focuses on yuntable (http://code.google.com/p/yuntable/) and Yunengine (http:// yunengine.com/) research and development, and is about to publish "Analysis of Cloud Computing" a book, please look forward to.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.