dubbo 搭建以及使用笔记

时间:2021-12-03 09:18:14

公司使用dubbo做为rpc框架,有必要简单学习一番(自己搭建),自己做下学习记录.

dubbo认识: dubbo是分布式SOA(面向服务)架构的rpc服务治理框架.可兼容各种rpc,强势的地方主要还是用于服务治理.目前阿里提供维护更新

服务治理:主要包括负载均衡和集群容错机制.

项目搭建部分:

环境:三台虚拟机zookeeper启动 ,idea ,maven ,tomcat

项目说明:官方提供简单的入门教程,官方之所以不用tomcat,我想一方面出于简单,另一方面因为本身rpc是基于netty容器(tcp级别),不需要依赖servlet容器

加上tomcat浪费资源.

整体来说还是比较简单的,这边的话,选用的是zookeeper作为注册中心,

(sh zkCli.sh timeout 5000 -server ip port   可以使用该命令查看节点,注意设置超时时间的大小,否则可能链接不上,默认时间比较小).

这边的话,感觉描叙起来很费劲,直接放链接

provider:http://git.gupaoedu.com/jinjian/dubboProvider

consumer:http://git.gupaoedu.com/jinjian/dubboConsumer

负载均衡:LoadBalance

1.Random(随机指定一台provid);2.RoundRobin(权重轮询);3.LeastActive(最少活跃度,服务性能快的优先);4ConsistentHash (一致hash,参数一致的调用相同的机器);

集群容错策略:

1.Failover Cluster(失败自动切换,配合retries);2,Failfast (快速失败,调一次失败就结束);3Failsafe(失败安全) ,4Failback(失败恢复定时重发) ,5.Forking(并行,有一个成功就返回) 6.Broadcast (逐个调用,有一个报错就返回)

补充:如果要在项目中实现软负载均衡,指定某台机器执行,可以把每个tomcat作为provider,这样的话,调用方作为consumer可以利用dubbo实现!

关于负载和容错详情,参考博客:https://blog.csdn.net/songjinbin/article/details/49455515

关于dubbo的基础知识可以参考:

https://www.cnblogs.com/linlinismine/p/7814521.html

https://blog.csdn.net/libo2158/article/details/79365991