注册中心的好处在于不必知道每个微服务的地址,所有微服务自动注册,注册中心负责查找分发
消费端,服务端,注册中心是长链接---注册中心用长链接来检测心跳
消费端把调用时间存储在本地内存,每隔一分钟发送给注册端,服务端爸调用次数记录在内存,每隔一分钟发送给注册中心
dubbo的也可以设置线程池大小,拒绝策略---类似tomcat
直连提供者是在消费端的接口处配置要直连的服务提供端地址
<dubbo:reference id="xxxService" interface="com.alibaba.xxx.XxxService" url="dubbo://localhost:20890" />
服务端注册的时候可以设置为静态服务---不由注册中心自动删除
大数据用短链接协议,小数据高并发用长链接协议
服务端先定义协议
<dubbo:protocol name="dubbo" port="20880" />---长协议,传输方式:NIO异步传输 序列化:Hessian二进制序列化
<dubbo:protocol name="rmi" port="1099" />---短协议,传输方式:同步传输 序列化:Java标准二进制序列化
然后具体到每个接口的协议选择-----通信协议的选择一般根据数据大小,并发量选择长链接的还是短链接的协议
<dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" protocol="dubbo" />
<!-- 使用rmi协议暴露服务 -->
<dubbo:service interface="com.alibaba.hello.api.DemoService" version="1.0.0" ref="demoService" protocol="rmi" />
同理多注册中心也是,而且消费引用端也可指明不同注册中心
version和group一样是为了区分引用
group有另外一个用处就是merger合并结果,可以指明这个接口(方法)哪些组可以合并结果
cache在消费引用端配置缓存策略
lru 基于最近最少使用原则删除多余缓存,保持最热的数据被缓存。
threadlocal 当前线程缓存,比如一个页面渲染,用到很多 portal,每个 portal 都要去查用户信息,通过线程缓存,可以减少这种多余访问。
jcache 与 JSR107 集成,可以桥接各种缓存实现。
<dubbo:reference interface="com.foo.BarService" cache="lru" />
回声测试
用于试探调用过程的联通性,排除业务接口本身代码的影响
所有服务自动实现 EchoService 接口,只需将任意服务引用强制转型为 EchoService,即可使用。
// 远程服务引用
MemberService memberService = ctx.getBean("memberService");
EchoService echoService = (EchoService) memberService; // 强制转型为EchoService
// 回声测试可用性
String status = echoService.$echo("OK");
assert(status.equals("OK"));
隐式参数
类似cookie把参数放在全局的上下文中,当前调用完成即清空,每调用一次重新设置一次
id---host+方法名,在被调用放获取
调用方:
RpcContext.getContext().setAttachment("index", "1"); // 隐式传参,后面的远程调用都会隐式将这些参数发送到服务器端,类似cookie,用于框架集成,不建议常规业务使用
xxxService.xxx(); // 远程调用
被调用方:
public class XxxServiceImpl implements XxxService {
public void xxx() {
// 获取客户端隐式传入的参数,用于框架集成,不建议常规业务使用
String index = RpcContext.getContext().getAttachment("index");
}
}
本地调用---针对既是消费端又是服务端的情况,自己消费自己的服务
参看:
https://blog.csdn.net/ywb201314/article/details/80917196
服务方用什么协议。在哪个端口暴露服务
消费方用什么协议获取服务。在哪个端口暴露自己的服务
》》
既是消费方又是服务方,协议名获取服务,端口上暴露服务
<dubbo:protocol name="协议名" port="端口" />
executes 服务端的并发数
actives 消费端的并发数
accepts 服务端链接数控制
connections 消费端连接数控制
每个10分钟导出一份dump
<dubbo:application ...>
<dubbo:parameter key="dump.directory" value="/tmp" />
</dubbo:application>
相关推荐
### Dubbo高级视频教程知识点概览 #### 一、Dubbo概述与分布式系统基础 - **Dubbo简介**:Dubbo是一款高性能、轻量级的开源Java RPC框架,旨在为服务治理提供简单、全面的解决方案。 - **分布式系统概念**:分布式...
- 视频教程提供了从初级到高级的全面学习资料,覆盖了Dubbo的核心概念、架构原理、实际操作等多个方面,是学习Dubbo不可多得的好资源。 - 除了视频外,还可以参考官方文档、社区论坛、博客文章等多种形式的学习资源...
现在分布式架构师开发的潮流,在工作,面试中经常会遇到和别问到,这里提供分布式架构dubbo框架实战的高级篇视频教程百度云分享,希望对大家有帮助。
3. **Dubbo-demo**: 示例项目通常会展示Dubbo的基本用法,例如如何创建服务提供者和服务消费者,如何配置服务接口和实现,如何进行服务注册和调用,以及如何利用Dubbo的其他高级特性,如集群策略、过滤器、监控等。...
此外,我们还可以在全局配置文件`dubbo.properties`中设置一些通用属性,如服务端口、超时时间等。这些属性可以覆盖XML配置中的相应值,提供更统一的管理。 总的来说,基于属性配置的Dubbo入门示例使得开发者能够...
- `dubbo.properties`:全局配置文件,用于设置Dubbo的相关属性。 - `application.xml`:应用配置文件,定义服务提供者和消费者的信息。 - `provider.xml`:服务提供者配置文件,包含服务接口、实现类、版本等...
【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题...
【标题】:“Dubbo高级教程及源码.zip” 【描述】:“Dubbo是一个高性能、轻量级的开源Java RPC框架,它提供了丰富的监控、服务治理功能,是阿里巴巴集团的重要技术组件。这个压缩包包含了Dubbo的高级教程以及源码...
我感觉很不错的宝贝,现在和大家分享,希望能够帮到大家,如果你需要可以下载看看,很适合喜欢研究技术的人员
Dubbo分布式服务基础入门、高级进阶,ZooKeeper注册中心集群,提供教程中的所有文档、源码,并有学员群提供学习交流和技术服务支持
dubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo...
【Dubbo 示例代码详解】 Dubbo 是阿里巴巴开源的一款高性能、轻量级的Java服务治理框架,它主要提供了RPC(远程过程调用)服务,并且包含了服务注册与发现、负载均衡、容错处理、监控等全面的服务治理功能。本示例...
6. `<dubbo:provider>` 和 `<dubbo:consumer>`:这两个元素是服务提供者和服务消费者的高级配置,可以用来设置一些全局的属性。 7. `<dubbo:method>` 和 `<dubbo:argument>`:细化服务方法和参数的配置,如异步调用...
Apache Dubbo:Dubbo高级特性:服务降级与熔断实战 Dubbo是著名的RCP框架,文档内有干货,提供代码和可复现的命令,值得借鉴。
java高级技术Dubbo视频教程,需要学习Dubbo高级技术的朋友可以下载看看,绝对物超所值
7. **路由(Route)**:路由规则允许根据特定条件动态调整服务调用路径,实现流量控制、灰度发布等高级功能。 二、Dubbo关键特性 1. **远程调用(RPC)**:Dubbo基于Java的反射机制,实现了透明化的远程方法调用,...
Dubbo高级技术视频教程 从传统工程改到dubbo框架,包括第三方框架的安装\集成\持续集成等。
【标题】"incubator-dubbo-dubbo-2.6.1" 是一个Apache Incubator项目Dubbo的特定版本,这里的2.6.1表示该版本是Dubbo的稳定分支之一。 【描述】提到的"incubator-dubbo-dubbo-2.6.1"表明这是Apache孵化器中的Dubbo...
【Dubbo入门到精通架构高级课程】是一门深入解析Dubbo框架的全面教程,旨在帮助初学者和进阶者理解并掌握这个强大的Java分布式服务框架。该课程包含了视频讲解、课件资料以及配套的源码,确保学习者能理论与实践相...