﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-paulwong-随笔分类-RPC</title><link>http://www.blogjava.net/paulwong/category/54746.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 05 May 2016 15:23:30 GMT</lastBuildDate><pubDate>Thu, 05 May 2016 15:23:30 GMT</pubDate><ttl>60</ttl><item><title>MyThrift 0.0.1 发布，轻量级 RPC 服务框架</title><link>http://www.blogjava.net/paulwong/archive/2016/05/05/430356.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Thu, 05 May 2016 09:02:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2016/05/05/430356.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/430356.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2016/05/05/430356.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/430356.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/430356.html</trackback:ping><description><![CDATA[<p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px;">1）什么是MyThrift?</strong></p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">基于以下组件打造的一款轻量级RPC服务框架:thrift(facebook出品)、commons-pool(socket连接池)、自研服务治理框架(zookeeper).</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px;">2）为什么要写MyThrift?</strong></p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;"></p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px;">2.1）提出问题：</strong></p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">&nbsp; &nbsp; 各种存储越来越多(redis,mysql,hdfs,hbase,mq)，</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">&nbsp; &nbsp; 让web开发人员自己访问存储，并保证性能，是一件高要求的事情。</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">&nbsp; &nbsp; 造成的结果就是软件开发进度缓慢，性能低下，各种bug.</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px;">2.2）分析问题：</strong></p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">&nbsp; &nbsp; RPC框架：考虑到本人看过thrift的源码，尤其是针对网络模块非常熟悉，并在实际生产环境中使用过，thrift性能不错。</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">&nbsp; &nbsp; TCP/IP：有过2年的TCP/IP报文分析经验，从链路层到应用层都很熟悉。</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">&nbsp; &nbsp; ZooKeeper:在MySQL-Binlog项目中攒出了一些使用经验,同时积极吸收Motan,JACK,HArpc等兄弟软件的优秀理念部分。</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">&nbsp; &nbsp; 连接池：使用commons-pool连接池组件。</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px;">2.3）解决问题：</strong></p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">&nbsp; &nbsp; 糅合thrift,zookeeper,commons-pool打造一款轻量级、性能高、上手容易的rpc调用框架，</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">&nbsp; &nbsp; 使得架构师和后台开发人员可以将各种复杂存储的IO访问对外暴露为服务(其实就是跨机器的普通函数调用)</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">&nbsp; &nbsp; 这样web开发人员可以专注于业务逻辑，加速产品迭代,对企业带来的好处不用多说！</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px;">本次版本内容：</strong></p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">1）server端进行网络模型参数调优</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">2）client端有连接池</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">3）支持server注册多个thrift的处理器Processor</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">可用于集中式负载的服务化组件，达到生产环境级别，经历过生产环境的考验，可放心使用。</p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;"><a target="_blank" href="http://git.oschina.net/qiangzigege/MyThrift" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">http://git.oschina.net/qiangzigege/MyThrift&nbsp;</a></p><p style="margin: 0px 0px 15pt; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; line-height: 22.4px; background-color: #ffffff;">内附非常详细+多图预警的《<a textvalue="MyThrift在线使用文档.md" target="_blank" href="http://git.oschina.net/qiangzigege/MyThrift/blob/master/MyThrift%E5%9C%A8%E7%BA%BF%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md?dir=0&amp;filepath=MyThrift%E5%9C%A8%E7%BA%BF%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md&amp;oid=07ee0db037cd99e7752be9188e21171345019d1a&amp;sha=064ee3523b139499d82e529cdda55e8495ffbb39" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">MyThrift在线使用文档.md</a>》，0基础轻松上手！</p><img src ="http://www.blogjava.net/paulwong/aggbug/430356.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2016-05-05 17:02 <a href="http://www.blogjava.net/paulwong/archive/2016/05/05/430356.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>轻量级 RPC 框架新浪微博的 motan</title><link>http://www.blogjava.net/paulwong/archive/2016/04/25/430227.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Mon, 25 Apr 2016 06:22:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2016/04/25/430227.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/430227.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2016/04/25/430227.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/430227.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/430227.html</trackback:ping><description><![CDATA[<h3>概述</h3><p box-sizing:="" margin-top:="" margin-bottom:="" font-size:="" line-height:="" white-space:="" style="margin: 0px 0px 10px; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; font-size: 13.3333px; line-height: 21.3333px; background-color: #ffffff;">motan是一套高性能、易于使用的分布式远程服务调用(RPC)框架。</p><h3>功能</h3><ul box-sizing:="" padding-left:="" margin-top:="" margin-bottom:=""  list-paddingleft-2"="" width:="" font-size:="" line-height:="" white-space:="" style="margin: 0.5em 0px 0.5em 1.5em; padding: 0px; list-style-position: inside; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; font-size: 13.3333px; line-height: 21.3333px; background-color: #ffffff;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;">支持通过spring配置方式集成，无需额外编写代码即可为服务提供分布式调用能力。</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;">支持集成consul、zookeeper等配置服务组件，提供集群环境的服务发现及治理能力。</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;">支持动态自定义负载均衡、跨机房流量调整等高级服务调度能力。</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;">基于高并发、高负载场景进行优化，保障生产环境下RPC服务高可用。</p></li></ul><p style="margin: 0px 0px 10px; padding: 0px; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; font-size: 13.3333px; line-height: 21.3333px; background-color: #ffffff;"><span style="margin: 0px; padding: 0px; font-size: 12pt; font-weight: bold; line-height: 1.6;">文档索引</span><br style="margin: 0px; padding: 0px;" /></p><ul box-sizing:="" padding-left:="" margin-top:="" margin-bottom:=""  list-paddingleft-2"="" width:="" font-size:="" line-height:="" white-space:="" style="margin: 0.5em 0px 0.5em 1.5em; padding: 0px; list-style-position: inside; font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体; font-size: 13.3333px; line-height: 21.3333px; background-color: #ffffff;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;"><a href="https://github.com/weibocom/motan/wiki/zh_quickstart" box-sizing:="" color:="" text-decoration:="" background-color:="" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">快速入门</a></p></li><ul list-="" -type:=""  list-paddingleft-2"="" style="margin: 0.5em 0px 0.5em 1.5em; padding: 0px; list-style-type: square; list-style-position: inside;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;"><a href="https://github.com/weibocom/motan/wiki/zh_quickstart#%E7%AE%80%E5%8D%95%E8%B0%83%E7%94%A8%E7%A4%BA%E4%BE%8B" box-sizing:="" color:="" text-decoration:="" background-color:="" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">简单调用示例</a></p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;"><a href="https://github.com/weibocom/motan/wiki/zh_quickstart#%E9%9B%86%E7%BE%A4%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B" box-sizing:="" color:="" text-decoration:="" background-color:="" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">集群使用示例</a></p></li></ul><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;"><a href="https://github.com/weibocom/motan/wiki/zh_userguide" box-sizing:="" color:="" text-decoration:="" background-color:="" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">用户指南</a></p></li><ul list-="" -type:=""  list-paddingleft-2"="" style="margin: 0.5em 0px 0.5em 1.5em; padding: 0px; list-style-type: square; list-style-position: inside;"><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;"><a href="https://github.com/weibocom/motan/wiki/zh_userguide#%E5%9F%BA%E6%9C%AC%E4%BB%8B%E7%BB%8D" box-sizing:="" color:="" text-decoration:="" background-color:="" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">基本介绍</a></p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;"><a href="https://github.com/weibocom/motan/wiki/zh_userguide#%E4%BD%BF%E7%94%A8motan" box-sizing:="" color:="" text-decoration:="" background-color:="" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">使用Motan</a></p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;"><a href="https://github.com/weibocom/motan/wiki/zh_userguide#%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E" box-sizing:="" color:="" text-decoration:="" background-color:="" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">配置说明</a></p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;"><a href="https://github.com/weibocom/motan/wiki/zh_userguide#%E8%BF%90%E7%BB%B4%E5%8F%8A%E7%9B%91%E6%8E%A7" box-sizing:="" color:="" text-decoration:="" background-color:="" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">运维及监控</a></p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;"><a href="https://github.com/weibocom/motan/wiki/zh_userguide#%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95" box-sizing:="" color:="" text-decoration:="" background-color:="" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">性能测试</a></p></li></ul><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;">开发指南（编写中）</p></li><li style="margin: 0px; padding: 0px;"><p style="margin: 0px 0px 10px; padding: 0px; display: inline;"><a href="https://github.com/weibocom/motan/wiki/zh_faq" box-sizing:="" color:="" text-decoration:="" background-color:="" style="margin: 0px; padding: 0px; color: #3e62a6; outline: 0px;">常见问题</a></p></li></ul><img src ="http://www.blogjava.net/paulwong/aggbug/430227.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2016-04-25 14:22 <a href="http://www.blogjava.net/paulwong/archive/2016/04/25/430227.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>轻量级分布式 RPC 框架</title><link>http://www.blogjava.net/paulwong/archive/2016/04/12/430053.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Tue, 12 Apr 2016 05:44:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2016/04/12/430053.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/430053.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2016/04/12/430053.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/430053.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/430053.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1、每套服务需搭配一个RPCSERVER2、RPCSERVER作为SPRING&nbsp;容器的一个BEAN3、在SPRING启动的时候，RPCSERVER会启动一个NETTY服务器端，然后将SPRING...&nbsp;&nbsp;<a href='http://www.blogjava.net/paulwong/archive/2016/04/12/430053.html'>阅读全文</a><img src ="http://www.blogjava.net/paulwong/aggbug/430053.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2016-04-12 13:44 <a href="http://www.blogjava.net/paulwong/archive/2016/04/12/430053.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Dubbos</title><link>http://www.blogjava.net/paulwong/archive/2016/04/12/430049.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Tue, 12 Apr 2016 02:59:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2016/04/12/430049.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/430049.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2016/04/12/430049.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/430049.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/430049.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: dubbos主要是基于dubbox的基础上，进行进一步的优化及拓展。Dubbos当前的主要功能支持REST风格远程调用（HTTP + JSON/XML)：基于非常成熟的JBoss&nbsp;RestEasy框 架，在dubbo中实现了REST风格（HTTP + JSON/XML）的远程调用，以显著简化企业内部的跨语言交互，同时显著简化企业对外的Open API、无线API甚至AJAX服务端等等的开...&nbsp;&nbsp;<a href='http://www.blogjava.net/paulwong/archive/2016/04/12/430049.html'>阅读全文</a><img src ="http://www.blogjava.net/paulwong/aggbug/430049.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2016-04-12 10:59 <a href="http://www.blogjava.net/paulwong/archive/2016/04/12/430049.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>commonrpc 0.1 发布，高性能分布式 RPC 框架</title><link>http://www.blogjava.net/paulwong/archive/2015/03/12/423414.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Thu, 12 Mar 2015 11:02:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2015/03/12/423414.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/423414.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2015/03/12/423414.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/423414.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/423414.html</trackback:ping><description><![CDATA[<span style="color: rgba(0, 0, 0, 0.8); font-family: Lato, 'Helvetica Neue', 'Microsoft YaHei', Arial, Helvetica, sans-serif; font-size: 15px; line-height: 19.9500007629395px; background-color: #fafafa;">还在羡慕BAT，京东等公司的大流量的架构吗？让你的java系统引用解耦，互相独立,commonrpc 就可以办到。commonrpc 是一个以netty为基础，spring 自定义shcema为基础标签的rpc框架,不侵入任何业务代码，一个高性能分布式rpc框架，支持tcp协议,http协议,同时HTTP协议支持restful 方式访问.</span><div style="box-sizing: inherit; color: rgba(0, 0, 0, 0.8); font-family: Lato, 'Helvetica Neue', 'Microsoft YaHei', Arial, Helvetica, sans-serif; font-size: 15px; line-height: 19.9500007629395px; background-color: #fafafa;"><a href="http://git.oschina.net/284520459/commonrpc/wikis/home" rel="nofollow" style="box-sizing: inherit; color: #4183c4; text-decoration: none; cursor: pointer !important; background: transparent;" target="_blank">http://git.oschina.net/284520459/commonrpc/wikis/home</a></div><img src ="http://www.blogjava.net/paulwong/aggbug/423414.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2015-03-12 19:02 <a href="http://www.blogjava.net/paulwong/archive/2015/03/12/423414.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>