简单总结下自己看Storm中thrift相关源码的理解,请高手指正。
Thrift是一个支持多种程序语言开发的框架,其核心是Thrift编译器和Thrift Server。
Storm使用Thrift来支持兼容多语言开发,Nimbus其实就是一个thrift服务,topologies被定义为Thrift结构体.
Storm源码中貌似默认支持的是Java和Python,因为有看到genthrift.sh中生成了storm.thrift描述对应的Java和Python代码。
Storm的核心逻辑部分还是Clojure代码,其需要的部分数据结构和接口通过storm.thrift定义,从而可以通过多语言实现,并被多种语言调用生成Topology。底层最终传送的是序列化的数据(包括代码)。
不知道这点总结是否确切,以后会继续改进更新。
本文简要总结了在Storm中使用Thrift的相关源码理解,包括Thrift框架概述、Storm如何利用Thrift支持多语言开发、以及Nimbus作为thrift服务的作用。解释了Storm如何通过thrift.thrift文件定义数据结构和接口,使得不同语言可以实现并调用Topology。最终数据传输基于序列化。
1973

被折叠的 条评论
为什么被折叠?



