Apache-Thrift-Thrift-Thrift
接着上篇文章说。
我们知道了Apache Thrift主要用于各个服务之间的RPC通信,并且支持跨语言;包括C++,Java,Python,PHP,Ruby,Go,Node.js等等,还有一些都没听说过的语言;而且从上篇文章的RPC例子中可以发现,Thrift是一个典型的CS(客户端/服务端)架构;加上跨语言的特性,我们可以推断一下:客户端和服务端是可以使用不同的语言开发的。
如果CS端可以使用不同的语言来开发,那么一定是有一种中间语言来关联客户端和服务端(相同语言也需要关联客户端和服务端)。其实这个答案都知道,那就是接口定义语言:IDL(Interface Description Language);下面我们从IDL进行开场表演,进行一次Thrift RPC的完整演出。