梧州市网站建设,律师网站建设建议,江苏住房和城乡建设局网站,建国外网站买完域名后怎么做Kafka这个linkedin开源的MQ#xff0c;我在过去的blog简单介绍过。最近3周来#xff0c;我的工作就是做它的一个Java移植版本#xff0c;kafka是用scala写的#xff0c;基于维护和定制的角度#xff0c;这个拷贝的版本还是用Java。说拷贝#xff0c;也不尽然#xff0c;… Kafka这个linkedin开源的MQ我在过去的blog简单介绍过。最近3周来我的工作就是做它的一个Java移植版本kafka是用scala写的基于维护和定制的角度这个拷贝的版本还是用Java。说拷贝也不尽然原理相同但实现完全换过从数据结构到通讯框架、通讯协议、程序组织乃至一些重要功能点上都做了改进和更新。我将这个Java版本取名为metamorphosis,也就是卡夫卡的代表作《变形记》的英文名。在原版本上目前做了如下改进1、协议替换为文本协议整个协议类似memcached文本协议的优点自不必说。通讯框架也是采用内部使用的通讯框架减少工作量。2、存储结构上也采用自定义结构更简洁紧凑。3、kafka原来只支持consumer和broker之间的服务查找和负载均衡meta加入了producer和broker之间的服务查找和负载均衡。4、ConsumerAPI没有采用kafka的stream方式而是同时实现同步获取和异步订阅两种方式更接近JMS和Notify。5、改进了服务器端文件recover的性能采用并发多线程recover的方式可选。6、添加了实时统计功能和协议类似memcached的stats协议,响应透明号召。7、客户端的连接复用。以后要做的事情可能包括1、实现类似Mysql的master/slave方案可能还要分为同步和异步两种模式。2、分区扩展时候的数据自动迁移功能做到无痛水平扩展。3、高可用方案的另一个实现。4、嵌入Httpserver做web管理。工作在本周初步告一段落接下来是要做集成测试和压测等我在两台8核16G的机器上分别部署服务器和客户端订阅者发布者同在一台做的一个简单压测数据如下并发100个线程发送5000万消息并同时消费1K大小的消息TPS可以达到3.8万4K大小的消息TPS可以达到1.8万服务器load都维持在一个较低的水平。从这个数据来看超过我一开始的预期。后续可能做下kakfa的测试对比下。 转载于:https://blog.51cto.com/aliapp/1327606