搭建thrift服务
2016-07-29 00:00
232 查看
前两天需要把分词系统做成上线的版本,于是要把分词系统做成服务的形式,这种做服务的方式以前一直用Soeket编程的方式,但这次用了个新的技术。
服务器端:Linux+C++
客户羰:PHP
最初的版本当然是直接用PHP调用外部程序,用的是PHP中system函数,在上一篇文章已有介绍。
之后的版本是基本Thrift框架的。
Thrift框架很炫,是Facebook的一个技术,其功能是实现远程访问,使不同的开发语言互相通讯,其特征是支持的语言多,嗯,真多,C++,java,C#, python, php这几个常用的都支持,还当然一些我都没听过的,像haskell, ocmal erlang cocoa squeak, ruby。。。有点变态了。不过想想,成功了5个,再成功10个也就不稀奇了。
Thrift的使用,起源于一个*.thrift角本,这个角本中定义了需要共享的数据,一般也就是几个字符串。再用thrift -r --gen ** file.thrift 生成不用语言的程序,就C++而言,把生成的skeleton文件作为主函数文件,或把其中的代码与我们的主调用文件融合,基本就搞定了。PHP端也差不多,生成几个文件,把一些模板式的文件(test_php)拷到一起,找到用于交互的函数就可以用了。
至于具体的细节,Google一下,倒是也有很多说明。
服务器端:Linux+C++
客户羰:PHP
最初的版本当然是直接用PHP调用外部程序,用的是PHP中system函数,在上一篇文章已有介绍。
之后的版本是基本Thrift框架的。
Thrift框架很炫,是Facebook的一个技术,其功能是实现远程访问,使不同的开发语言互相通讯,其特征是支持的语言多,嗯,真多,C++,java,C#, python, php这几个常用的都支持,还当然一些我都没听过的,像haskell, ocmal erlang cocoa squeak, ruby。。。有点变态了。不过想想,成功了5个,再成功10个也就不稀奇了。
Thrift的使用,起源于一个*.thrift角本,这个角本中定义了需要共享的数据,一般也就是几个字符串。再用thrift -r --gen ** file.thrift 生成不用语言的程序,就C++而言,把生成的skeleton文件作为主函数文件,或把其中的代码与我们的主调用文件融合,基本就搞定了。PHP端也差不多,生成几个文件,把一些模板式的文件(test_php)拷到一起,找到用于交互的函数就可以用了。
至于具体的细节,Google一下,倒是也有很多说明。
相关文章推荐
- 从ping和ping6说起
- 浏览器的渲染原理简介
- 第4部分:资源
- SQLite剖析(4):数据类型
- SQLite剖析(3):C/C++接口介绍
- 千万级并发实现的秘密:内核不是解决方案,而是问题所在!
- 搭建Hadoop集群
- dbm数据库源代码分析(13):ndbm部分
- Hadoop在Last.fm的应用--音乐排行榜
- C标准库源码解剖(13):输入输出函数stdio.h
- Hive体系结构
- 我的C实践(9):位和字节的重排
- 我的C++实践(14):限制类对象的个数
- zlib库剖析(5):LZ77压缩算法
- C标准库源码解剖(11):扩展整数类型stdint.h和inttypes.h
- Python之禅
- C标准库源码解剖(5):字符串处理函数string.h和wchar.h(续)
- Java集合框架官方教程(3):SortedSet/SortedMap接口
- SQLite剖析(10):异步IO模式、共享缓存模式和解锁通知
- Linux引导过程内幕