在facebook,开源thrift前,一直在用soap 来开发。
基于gsoap开发了很多的服务器,服务器的框架主要是accept(socket),分配worker 线程来进行处理;
也比较实用,在有很多这样的应用。
期间也用研究了rest, 基于php 进行了服务器的开发,对于c/c++来进行重量级服务器觉得不是很合适。可能也和适用的才是最好有关系,没有大量应用。
看了thrift的源码,以及了解运行情况;当时感觉就是soap 的再次造轮子,为什么呢? 认为主要是方便接入到hadoop 的hdfs 文件系统,整个hadoop 都是java 写的,这样想的。
总体上看,要根据实际业务需求,来选择自己的RPC 技术:
gsoap : 更加适合 c/c++ 程序,重量级应用;
thrift: 适合 java 程序,中量级应用;
rest :
适合脚本语言,轻量级应用(
http://www.ibm.com/developerworks/cn/webservices/ws-restful/)