??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩精品亚洲视频,粉嫩久久99精品久久久久久夜,ww久久中文字幕http://www.aygfsteel.com/paulwong/category/55020.htmlzh-cnWed, 20 Apr 2016 22:44:04 GMTWed, 20 Apr 2016 22:44:04 GMT60dubbosshttp://www.aygfsteel.com/paulwong/archive/2016/04/20/430162.htmlpaulwongpaulwongWed, 20 Apr 2016 05:04:00 GMThttp://www.aygfsteel.com/paulwong/archive/2016/04/20/430162.htmlhttp://www.aygfsteel.com/paulwong/comments/430162.htmlhttp://www.aygfsteel.com/paulwong/archive/2016/04/20/430162.html#Feedback0http://www.aygfsteel.com/paulwong/comments/commentRss/430162.htmlhttp://www.aygfsteel.com/paulwong/services/trackbacks/430162.html
~点Q?br />nginx+tomcat与netty优缺?br />http://www.oschina.net/question/1765708_158026

我的架构最开始是 nginx + [netty (tcp) ] 用nginx做负载均衡。后来分布式接口变成了http restful -> nginx + [netty(http) ]

于是参考了netty的官方http例子Q开始移植代码,其实UL量不大,只需要把原来的tpc handler里面的逻辑攑ֈhttp handler里面可以了。本以ؓok了,试才发C大量的问题,其实问题本n是由于对http基础掌握的还不够透彻Q比如keep-alive属性,q个qx基本不用的东西,当你要自己开发http serverӞ变的很有用,你不能每ơ都close channel.你要化很多时间了解header里面每个字段的意思,然后d现它。再比如一个posthQ你要自己写代码从body里面L据,解码{?br />
最l我攑ּ了netty,回到了tomcat.应ؓtomcat把http的一切都帮你搞定了?br />
最l的架构?nbsp;nginx + [tomcat(http) ]

tomcat是针对http层的Q所以我httpq是选择tomcat(或者其他成熟的http-server)Qƈ不是说netty不好Q而是你的选择问题Qnetty是一个网l组Ӟtcp,udp,http都可以弄Q但是官Ҏ都是些hello wolrdU别的。如果你非常了解httpl构Q完全可以基于netty搞出一个比tomcat牛的http server.

如果做tcp开发,netty不二之选!

dubboss是一个分布式REST服务的框?实现了如下功?

  • Zdubbo的RPC
  • Znetty的应用服务器
  • Zspringmvc的REST调用
  • Zngnix的负载均?/li>

https://github.com/leiguorui/dubboss

paulwong 2016-04-20 13:04 发表评论
]]>
DUBBO?/title><link>http://www.aygfsteel.com/paulwong/archive/2016/04/15/430103.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Fri, 15 Apr 2016 03:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/paulwong/archive/2016/04/15/430103.html</guid><wfw:comment>http://www.aygfsteel.com/paulwong/comments/430103.html</wfw:comment><comments>http://www.aygfsteel.com/paulwong/archive/2016/04/15/430103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/paulwong/comments/commentRss/430103.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/paulwong/services/trackbacks/430103.html</trackback:ping><description><![CDATA[<p style="font-size: 13.3333px; line-height: 17.3333px; margin: 10px 0px; padding: 0px; font-family: Arial, Helvetica, FreeSans, sans-serif; background-color: #ffffff;"><a target="_blank">http://dubbo.io/User+Guide-zh.htm</a><br /><br />随着互联|的发展Q网站应用的规模不断扩大Q常规的垂直应用架构已无法应对,分布式服务架构以及流动计架构势在必行,亟需一个治理系l确保架构有条不紊的演进?/p><p style="font-size: 13.3333px; line-height: 17.3333px; margin: 10px 0px; padding: 0px; font-family: Arial, Helvetica, FreeSans, sans-serif; background-color: #ffffff;"><img src="http://dubbo.io/dubbo-architecture-roadmap.jpg-version=1&modificationDate=1331143666000.jpg" tppabs="http://10.20.160.198/wiki/download/attachments/6947616/dubbo-architecture-roadmap.jpg?version=1&modificationDate=1331143666000" style="border: 0px solid black;" alt="" /></p><ul style="font-size: 13.3333px; line-height: 17.3333px; font-family: Arial, Helvetica, FreeSans, sans-serif; background-color: #ffffff;"><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;"><strong>单一应用架构</strong><ul style="font-size: 10pt; line-height: 13pt; list-style-type: disc;"><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;">当网站流量很时Q只需一个应用,所有功能都部v在一P以减部|节点和成本?/li><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;">此时Q用于简化增删改查工作量?nbsp;<strong>数据讉K框架(ORM)</strong> 是关键?/li></ul></li><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;"><strong>垂直应用架构</strong><ul style="font-size: 10pt; line-height: 13pt; list-style-type: disc;"><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;">当访问量逐渐增大Q单一应用增加机器带来的加速度来小Q将应用拆成互不相干的几个应用,以提升效率?/li><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;">此时Q用于加速前端页面开发的 <strong>Web框架(MVC)</strong> 是关键?/li></ul></li><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;"><strong>分布式服务架?/strong><ul style="font-size: 10pt; line-height: 13pt; list-style-type: disc;"><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;">当垂直应用越来越多,应用之间交互不可避免Q将核心业务抽取出来Q作为独立的服务Q逐渐形成E_的服务中心,使前端应用能更快速的响应多变的市场需求?/li><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;">此时Q用于提高业务复用及整合?nbsp;<strong>分布式服务框?RPC)</strong> 是关键?/li></ul></li><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;"><strong>动计算架构</strong><ul style="font-size: 10pt; line-height: 13pt; list-style-type: disc;"><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;">当服务越来越多,定w的评伎ͼ服务资源的费{问题逐渐昄Q此旉增加一个调度中心基于访问压力实时管理集容量,提高集群利用率?/li><li style="font-size: 10pt; line-height: 13pt; margin: 0px; padding: 0px;">此时Q用于提高机器利用率?nbsp;<strong>资源调度和治理中?SOA)</strong> 是关键?/li></ul></li></ul><img src ="http://www.aygfsteel.com/paulwong/aggbug/430103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/paulwong/" target="_blank">paulwong</a> 2016-04-15 11:28 <a href="http://www.aygfsteel.com/paulwong/archive/2016/04/15/430103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">֦</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ׯ</a>| <a href="http://" target="_blank">㶫ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">㰲</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͩ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ν</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʲ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ׯ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">κ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>