dubbo笔记

Apache Dubbo

  • 面向接口代理的高性能RPC调用:不用关注太多的内部实现,为开发者屏蔽远程调用底层细节。

  • 智能负载均衡:内置多种负载均衡策略,智能感知下游节点健康状况,显著减少调用延迟,提高系统吞吐量。

  • 服务自动注册与发现:支持多种注册中心服务(zookeeper),服务实例上下线实时感知

  • 高度可扩展能力:扩展能力极强

  • 运行期流量调度:内置条件、脚本等路由策略,通过配置不同的路由规则,轻松实现灰度发布,同机房优先等功能。

  • 可视化的服务治理与运维:可视化界面随时查询服务元数据、服务健康状态及调用统计,实时下发路由策略、调整配置参数。

dubbo支持zookeeper注册中心,下载后修改其配置文件即可zoo.cfg

监控中心可以提供可视化界面,给用户提供便利

  • 将服务提供者注册到注册中心(暴露服务)
    • 导入dubbo依赖、操作zooeeper的客户端
    • 配置服务提供者
<!-- 1、指定当前服务、应用名字(同样的服务名字相同,不要和别的服务同名) --> 
<dubbo:application name="dubbo_provider" />
<!-- 2、指定注册中心地址 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181" />
<!-- 3、指定通信规则(协议、规则) -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 4、暴露接口服务 -->
<dubbo:service interface="接口全路径"  ref="服务真正实现对象(user)" />
<!-- 将接口实现类加入容器 -->
<bean id="user" class="实现类" />
  • 配置消费者
<!-- 1、指定当前服务、应用名字(同样的服务名字相同,不要和别的服务同名) --> 
<dubbo:application name="dubbo_consumer" />
<!-- 2、指定注册中心地址 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181" />
<!-- 3、声明远程调用需要调用接口 -->
<dubbo:reference interface="暴露的接口全路径"  id="userService" check="false"/>

dubbo与SpringBoot整合

  • 导入dubbo-starter
  • 在application.properties配置文件中配置
  • 可以在实现类中使用@service注解暴露服务  注意是dubbo家的注解
  • 在消费者中注入实现 使用@reference从注册中心发现实现类
  • 开启基于注解的dubbo功能 @EnableDubbo

当zookeeper宕机后,消费者和提供者可以通过本地缓存进行通讯

没有注册中心可以使用dubbo吗,可以通过dubbo直连的方式

负载均衡

  • RandomLoadBalance:加权随机算法
  •  LeastActiveLoadBalance:翻译过来是最小活跃数负载均衡。活跃调用数越小,表明该服务提供者效率越高,单位时间内可处理更多的请求
  • ConsistentHashLoadBalance:一致性 hash 算法
  • RoundRobinLoadBalance:加权轮询负载均衡

可以在消费时定义也可以在提供时定义 注解中加上loadbalance=“”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值