1)什么是MyThrift? 基于以下组件打造的一款轻量级RPC服务框架:thrift(facebook出品)、commons-pool(socket连接池)、自研服务治理框架(zookeeper). 2)为什么要写MyThrift? 2.1)提出问题: 各种存储越来越多(redis,mysql,hdfs,hbase,mq), 让web开发人员自己访问存储,并保证性能,是一件高要求的事情。 造成的结果就是软件开发进度缓慢,性能低下,各种bug. 2.2)分析问题: RPC框架:考虑到本人看过thrift的源码,尤其是针对网络模块非常熟悉,并在实际生产环境中使用过,thrift性能不错。 TCP/IP:有过2年的TCP/IP报文分析经验,从链路层到应用层都很熟悉。 ZooKeeper:在MySQL-Binlog项目中攒出了一些使用经验,同时积极吸收Motan,JACK,HArpc等兄弟软件的优秀理念部分。 连接池:使用commons-pool连接池组件。 2.3)解决问题: 糅合thrift,zookeeper,commons-pool打造一款轻量级、性能高、上手容易的rpc调用框架, 使得架构师和后台开发人员可以将各种复杂存储的IO访问对外暴露为服务(其实就是跨机器的普通函数调用) 这样web开发人员可以专注于业务逻辑,加速产品迭代,对企业带来的好处不用多说! 本次版本内容: 1)server端进行网络模型参数调优 2)client端有连接池 3)支持server注册多个thrift的处理器Processor 可用于集中式负载的服务化组件,达到生产环境级别,经历过生产环境的考验,可放心使用。 http://git.oschina.net/qiangzigege/MyThrift 内附非常详细+多图预警的《MyThrift在线使用文档.md》,0基础轻松上手! MyThrift 0.0.1 发布,轻量级 RPC 服务框架下载地址