关闭

dubbo学习四--连接方式

635人阅读 评论(0) 收藏 举报
分类:

直连提供者

在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时可能需要点对点直连。

(1)如果是线上需求需要点对点,可在<dubbo:reference>中配置url指向提供者,将绕过注册中心,多个地址用分号隔开。

(2)在JVM启动参数中加入-D参数映射服务地址(key为服务名,value为服务提供者url,此配置优先级最高)

(3)发果服务比较多,也可以用文件映射(用-Ddubbo.resolve.file指定映射文件路径,此配置优先级高于<dubbo:reference>中的配置)


只订阅

可以让服务提供者开发方,只订阅服务,而不注册正在开发的服务,通过直连测试正在开发的服务。


禁用注册配置:

<dubbo:registry address="10.20.153.10:9090" register="false" />

或者

<dubbo:regisytry address="10.20.154.10:9090?register=false" />


只注册

可以让服务提供者,只注册服务到另一注册中心,而不从另一注册中心订阅服务。

禁用订阅配置:

<dubbo:registry id="qdRegistry" address="10.20.141.150:9090" subscribe="false" />

或者

dubbo:registry id="qdRegistry" address="10.20.141.150:9090?subscribe=false" />



静态服务

有时候希望人工管理服务提供者的上线和下线,此时需要将注册中心标识为动态管理模式。

RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
Registry registry = registryFactory.getRegistry(URL.valueOf("zookeeper://10.20.153.10:2181"));
registry.register(URL.valueOf("memcached://10.20.153.11/com.foo.BarService?category=providers&dynamic=false&application=foo"));

服务提供者初次注册时为禁用状态,需要工启用,断线时,将不会被自动删除,需人工禁用。


多协议

(1)不同服务不同协议

比如:不同服务在性能上适用不同协议进行传输

provider.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://code.alibabatech.com/schema/dubbo
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        ">
 
    <dubbo:application name="world"  />
    <dubbo:registry id="registry" address="10.20.141.150:9090" username="admin" password="hello1234" />
 
    <!-- 多协议配置 -->
    <dubbo:protocol name="dubbo" port="20880" />
    <dubbo:protocol name="rmi" port="1099" />
 
    <!-- 使用dubbo协议暴露服务 -->
    <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" />
 
</beans>


(2)多协议暴露服务

provider.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://code.alibabatech.com/schema/dubbo
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        ">
 
    <dubbo:application name="world"  />
    <dubbo:registry id="registry" address="10.20.141.150:9090" username="admin" password="hello1234" />
 
    <!-- 多协议配置 -->
    <dubbo:protocol name="dubbo" port="20880" />
    <dubbo:protocol name="hessian" port="8080" />
 
    <!-- 使用多个协议暴露服务 -->
    <dubbo:service id="helloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" protocol="dubbo,hessian" />
 
</beans>


多注册中心

(1)多注册中注册

provider.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://code.alibabatech.com/schema/dubbo
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        ">
 
    <dubbo:application name="world"  />
 
    <!-- 多注册中心配置 -->
    <dubbo:registry id="hangzhouRegistry" address="10.20.141.150:9090" />
    <dubbo:registry id="qingdaoRegistry" address="10.20.141.151:9010" default="false" />
 
    <!-- 向多个注册中心注册 -->
<dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" 
registry="hangzhouRegistry,qingdaoRegistry" />
 
</beans>


(2)不同服务使用不同注册中心


provider.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://code.alibabatech.com/schema/dubbo
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        ">
 
    <dubbo:application name="world"  />
 
    <!-- 多注册中心配置 -->
    <dubbo:registry id="chinaRegistry" address="10.20.141.150:9090" />
    <dubbo:registry id="intlRegistry" address="10.20.154.177:9010" default="false" />
 
    <!-- 向中文站注册中心注册 -->
<dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" 
registry="chinaRegistry" />
 
    <!-- 向国际站注册中心注册 -->
    <dubbo:service interface="com.alibaba.hello.api.DemoService" version="1.0.0" ref="demoService" registry="intlRegistry" />
 
</beans>

(3)多注册中心引用

consumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://code.alibabatech.com/schema/dubbo
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        ">
 
    <dubbo:application name="world"  />
 
    <!-- 多注册中心配置 -->
    <dubbo:registry id="chinaRegistry" address="10.20.141.150:9090" />
    <dubbo:registry id="intlRegistry" address="10.20.154.177:9010" default="false" />
 
    <!-- 引用中文站服务 -->
<dubbo:reference id="chinaHelloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0"
 registry="chinaRegistry" />
 
    <!-- 引用国际站站服务 -->
<dubbo:reference id="intlHelloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" 
registry="intlRegistry" />
 
</beans>



0
0
查看评论

dubbo提供方与消费方的三种连接方式

1、采用zookeeper作为注册中心<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans&...
  • cjm1103
  • cjm1103
  • 2017-05-14 11:53
  • 2031

Dubbo的三种连接方式

一、直连提供者+只订阅 开发测试环境下,需要绕过注册中心,直接测试服务提供者, 1.在消费方配置【可以两个以上,中间用逗号隔开】。 serviceImpl里加个断点,每次访问都会走断点。在管控台本地服务接口最后点击禁用,还是可以正常访问,说明绕过了注册中心。 2.在adm...
  • Aliloke
  • Aliloke
  • 2017-10-29 18:06
  • 835

dubbo 的线程和连接模型 (长连接复用的两种形式)

本文业务表现博文:稳定性 耗时 监控原因分析-- dubbo rpc 框架 的线程池,io 连接模型. 客户端,服务端原因剖析:  共用连接,出现了排队现象,所以慢了.需要打印 zipkin 日志.把时间点传到下游,遇到耗时高的才打印日志. 或者各处自己打印日志. 后续日志预处理时多行转列...
  • fei33423
  • fei33423
  • 2017-08-22 18:38
  • 691

入门Dubbo学习知识整合及心得

简述:     Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。是阿里巴巴开源的单一长连接服务框架,底层通信采用nio框架,支持netty,mina,grizzl...
  • o9109003234
  • o9109003234
  • 2015-04-29 21:46
  • 3091

Dubbo之服务运行的三种方式-yellowcong

Dubbo服务运行 1、使用Servlet容器运行(Tomcat、Jetty等) -不可用 2、自己写Main函数来启动容器(必须回) 3、通过阿里提供的com.alibaba.dubbo.container.Main函数启动(必须会)
  • yelllowcong
  • yelllowcong
  • 2017-10-15 21:09
  • 215

Dubbo学习总结(1)——Dubbo入门基础与实例讲解

Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 一、Dubbo简介 ...
  • u012562943
  • u012562943
  • 2016-01-05 11:20
  • 5872

dubbo协议下的单一长连接与多线程并发如何协同工作

上班的路上突然就冒出了这么个问题:既然在dubbo中描述消费者和提供者之间采用的是单一长连接,那么如果消费者端是高并发多线程模型的web应用,单一长连接如何解决多线程并发请求问题呢? 其实如果不太了解socket或者多线程编程的相关知识,不太容易理解这个问题。传统的最简单的RPC方式,应该是为...
  • joeyon
  • joeyon
  • 2016-04-03 01:19
  • 9562

dubbo的深入学习(2)

dubbo,soa,异步调用,NIO,序列化,
  • maybe_fly
  • maybe_fly
  • 2017-09-12 10:27
  • 108

Dubbo基本原理机制 单一长连接

–高性能和透明化的RPC远程服务调用方案 –SOA服务治理方案 -Apache MINA 框架基于Reactor模型通信框架,基于tcp长连接 Dubbo缺省协议采用单一长连接和NIO异步通讯, 适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况 分析源代...
  • zgliang88
  • zgliang88
  • 2017-07-19 18:58
  • 1703

dubbo--直连方式(51)

<dubbo:reference id="whoami" interface="com.alibaba.fastjson.xxxx" url="dubbo://121.11.2...
  • qfzhangwei
  • qfzhangwei
  • 2016-12-15 20:36
  • 1276
    个人资料
    • 访问:573736次
    • 积分:9714
    • 等级:
    • 排名:第2163名
    • 原创:225篇
    • 转载:908篇
    • 译文:17篇
    • 评论:33条
    最新评论