关于dubbo的理解,使用,常见问题以及如何更好的实施服务化

阿里技术--dubbo 专栏收录该内容
7 篇文章 0 订阅

原文地址:http://blog.csdn.net/fyxxq/article/details/39118517

用dubbo也有一段时间了,现在做一些归纳和总结。


1. 核心要点

服务方和消费方仅在启动时,才与注册中心交互(注册中心:服务方注册,消费方订阅)。注册中心不做请求转发,减少其压力;

服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销;

服务消费者是采用拉取的方式,调用注册中心的服务列表接口,获取服务列表。并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销 ;

如果服务不可用,注册中心采用的是推送方式(注册中心通过长连接感知服务提供方的可用性),通知消费者,消费者基于服务列表,通过负载,热备,failover配置等方式,去尝试与其他服务的提供者通讯;

已运行的提供者和消费者,消费者在本地缓存了提供者列表 ,所以注册中心(监控中心)都是可选的,服务消费者可以直连服务提供者。

服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心,用于服务治理:监控。

服务治理包含:服务的定义(服务边界),服务的注册与服务间的通讯,流控,服务状态的监控(调用次数,服务的关系展示,动态服务关系的绑定,服务的升降级)。


基于以上,可总结dubbo如何实现的软负载均衡:

dubbo中关于负载的核心层:cluster,包括路由层,封装多个提供者的路由及负载均衡,并桥接注册中心
服务消费者,从提供者地址列表中(注册中心下发[某服务方挂掉时,推送新的url列表],当然消费方也有缓存),基于软负载均衡算法,选一台提供者进行调用,如果调用
失败,再选另一台调用。
那么选一台进行调用,如何选?
“服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。“
所以既然能够得到调用次数,就可以知道集群中服务者的状态,由cluster层进行实现负载的算法,结合路由,把调用定位到最终的服务者去。

然后采取相应的算法和策略
随机,轮循,最少活跃调用数,一致性Hash(相同参数的请求总是发到同一提供者。当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动)


2, 常见问题

To be continued...


3. 改进和优化服务化的实施

To be continued...


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p> <span style="font-size:14px;color:#337FE5;">【为什么学爬虫?】</span> </p> <p> <span style="font-size:14px;">       1、爬虫入手容易但是深入较难如何写出高效率爬虫如何写出灵活性高可扩展爬虫都是一项技术活。另外在爬虫过程中经常容易遇到被反爬虫比如字体反爬、IP识别、验证码等如何层层攻克难点拿到想要数据这门课程你都能学到!</span> </p> <p> <span style="font-size:14px;">       2、如果是作为一个其他行业开发者比如app开发web开发学习爬虫能让你加强对技术认知能够开发出更加安全软件和网站</span> </p> <p> <br /> </p> <span style="font-size:14px;color:#337FE5;">【课程设计】</span> <p class="ql-long-10663260"> <span> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 一个完整爬虫程序无论大小总体来说可以分成三个步骤分别是: </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 网络请求:模拟浏览器行为从网上抓取数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据解析:将请求下来数据进行过滤提取我们想要数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据存储:将提取到数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 那么本课程也是按照这几个步骤循序渐进进行讲解带领学生完整掌握每个步骤技术。另外因为爬虫多样性在爬取过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序灵活性分别是: </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 爬虫进阶:包括IP代理多线程爬虫图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 </li> <li class="" style="font-size:11pt;color:#494949;"> Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 通过爬虫进阶知识点我们能应付大量反爬网站而Scrapy框架作为一个专业爬虫框架使用他可以快速提高我们编写爬虫程序效率和速度。另外如果一台机器不能满足你需求我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 </p> <p style="font-size:11pt;color:#494949;">   </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 从基础爬虫到商业化应用爬虫本套课程满足您所有需求! </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <br /> </p> <p> <br /> </p> <p> <span style="font-size:14px;background-color:#FFFFFF;color:#337FE5;">【课程服务】</span> </p> <p> <span style="font-size:14px;">专属付费社群+定期答疑</span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"><br /> </span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"></span> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值