`
y806839048
  • 浏览: 1121032 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

dubbo一些高级属性的梳理

阅读更多

 

注册中心的好处在于不必知道每个微服务的地址,所有微服务自动注册,注册中心负责查找分发

 

消费端,服务端,注册中心是长链接---注册中心用长链接来检测心跳

消费端把调用时间存储在本地内存,每隔一分钟发送给注册端,服务端爸调用次数记录在内存,每隔一分钟发送给注册中心

 

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简介**:Dubbo是一款高性能、轻量级的开源Java RPC框架,旨在为服务治理提供简单、全面的解决方案。 - **分布式系统概念**:分布式...

    dubbo的初级到高级,分布式系统架构视频

    - 视频教程提供了从初级到高级的全面学习资料,覆盖了Dubbo的核心概念、架构原理、实际操作等多个方面,是学习Dubbo不可多得的好资源。 - 除了视频外,还可以参考官方文档、社区论坛、博客文章等多种形式的学习资源...

    dubbo高级篇

    现在分布式架构师开发的潮流,在工作,面试中经常会遇到和别问到,这里提供分布式架构dubbo框架实战的高级篇视频教程百度云分享,希望对大家有帮助。

    dubbo资源 dubbo-admin dubbo demo

    3. **Dubbo-demo**: 示例项目通常会展示Dubbo的基本用法,例如如何创建服务提供者和服务消费者,如何配置服务接口和实现,如何进行服务注册和调用,以及如何利用Dubbo的其他高级特性,如集群策略、过滤器、监控等。...

    Dubbo(四)------Dubbo入门示例(基于属性配置)

    此外,我们还可以在全局配置文件`dubbo.properties`中设置一些通用属性,如服务端口、超时时间等。这些属性可以覆盖XML配置中的相应值,提供更统一的管理。 总的来说,基于属性配置的Dubbo入门示例使得开发者能够...

    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面试题【BAT必备】dubbo面试题...

    Dubbo高级教程及源码.zip

    【标题】:“Dubbo高级教程及源码.zip” 【描述】:“Dubbo是一个高性能、轻量级的开源Java RPC框架,它提供了丰富的监控、服务治理功能,是阿里巴巴集团的重要技术组件。这个压缩包包含了Dubbo的高级教程以及源码...

    Dubbo入门到精通架构高级课程

    我感觉很不错的宝贝,现在和大家分享,希望能够帮到大家,如果你需要可以下载看看,很适合喜欢研究技术的人员

    dubbo基础到高级全篇

    Dubbo分布式服务基础入门、高级进阶,ZooKeeper注册中心集群,提供教程中的所有文档、源码,并有学员群提供学习交流和技术服务支持

    dubbo-dubbo-2.7.3.rar

    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-sample

    【Dubbo 示例代码详解】 Dubbo 是阿里巴巴开源的一款高性能、轻量级的Java服务治理框架,它主要提供了RPC(远程过程调用)服务,并且包含了服务注册与发现、负载均衡、容错处理、监控等全面的服务治理功能。本示例...

    dubbo xsd的支持

    6. `&lt;dubbo:provider&gt;` 和 `&lt;dubbo:consumer&gt;`:这两个元素是服务提供者和服务消费者的高级配置,可以用来设置一些全局的属性。 7. `&lt;dubbo:method&gt;` 和 `&lt;dubbo:argument&gt;`:细化服务方法和参数的配置,如异步调用...

    Apache Dubbo:Dubbo高级特性:服务降级与熔断实战

    Apache Dubbo:Dubbo高级特性:服务降级与熔断实战 Dubbo是著名的RCP框架,文档内有干货,提供代码和可复现的命令,值得借鉴。

    java高级技术Dubbo视频教程

    java高级技术Dubbo视频教程,需要学习Dubbo高级技术的朋友可以下载看看,绝对物超所值

    dubbodubbo.zip

    7. **路由(Route)**:路由规则允许根据特定条件动态调整服务调用路径,实现流量控制、灰度发布等高级功能。 二、Dubbo关键特性 1. **远程调用(RPC)**:Dubbo基于Java的反射机制,实现了透明化的远程方法调用,...

    Dubbo高级技术

    Dubbo高级技术视频教程 从传统工程改到dubbo框架,包括第三方框架的安装\集成\持续集成等。

    incubator-dubbo-dubbo-2.6.1

    【标题】"incubator-dubbo-dubbo-2.6.1" 是一个Apache Incubator项目Dubbo的特定版本,这里的2.6.1表示该版本是Dubbo的稳定分支之一。 【描述】提到的"incubator-dubbo-dubbo-2.6.1"表明这是Apache孵化器中的Dubbo...

    Dubbo入门到精通架构高级课程(视频+课件+源码)

    【Dubbo入门到精通架构高级课程】是一门深入解析Dubbo框架的全面教程,旨在帮助初学者和进阶者理解并掌握这个强大的Java分布式服务框架。该课程包含了视频讲解、课件资料以及配套的源码,确保学习者能理论与实践相...

Global site tag (gtag.js) - Google Analytics