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

dubbo配置入门

 
阅读更多

dubbo的机理这里不说了,dubbo的官方文档对于原理讲得很透彻了。说说使用。

使用dubbo包含服务端和客户端,还需要注册中心(一般用zookeeper)。dubbo是集成spring特性的,所以服务端和客户端都需要配置各自的xml文件。

客户端和服务端还需要依赖一个公共的接口包。这个接口包(一般是jar)是由服务端开发的,里面只定义了要暴露的接口,以及这些接口用到的实体和异常。为了同步和更新方便,这个包通常会上传到maven库里。这里假设起坐标是

    <groupId>com.sth.system</groupId>
    <artifactId>sth-api</artifactId>
    <version>xxx</version>

 并且包含两个接口:

interface A{
String a();
}

interface B{
int b(int arg);
}

 

 

服务端自身自然要依赖sth-api,并对AB接口进行实现:

class AI implements A{
String a(){
return "ok";
}
}

class BI implements B{
int b(int i){
return i;
}
}

 在spring的配置文件中配置接口的实现bean:

<bean id="ai" class="AI">
<bean id="bi" class="BI">

引入dubbo空间、 配置dubbo信息并引用实现bean:

xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://code.alibabatech.com/schema/dubbo 
		http://code.alibabatech.com/schema/dubbo/dubbo.xsd”
<dubbo:application name="dubbo" />
<dubbo:registry address="${dubbo.registry.address}" />
<dubbo:protocol name="dubbo" port="20880" />
<dubbo:service interface="A" ref="ai" protocol="dubbo" group=""/>
<dubbo:service interface="B" ref="bi" protocol="dubbo" group=""/> 

这样应用启动后接口就暴露了。其中registry的address是zk的地址,以zookeeper://开头,比如zookeeper://127.0.0.1:2181。多台zk可以用逗号隔开。protocol的port默认是20880,这个属性建议配成一个负数,因为可能多个应用部署在一起会端口冲突导致启动不了。负数的话比如-1,dubbo会自动寻找空闲端口(从20880开始)。

 

 

客户端也要依赖sth-api,然后只要配置dubbo就可以了:

	<dubbo:application name="hahaha" />
	<dubbo:consumer check="false" />
	<dubbo:registry address="${dubbo.registry.address}" />
	<dubbo:protocol name="dubbo" />
	<dubbo:reference group="" id="serviceA"	interface="A" />
	<dubbo:reference group="" id="serviceB"	interface="B" />

 consumer的check是检查依赖服务是否存在,如果不写,dubbo启动的时候会去zk上寻找依赖的服务,找不到就启动失败,建议写上。

和服务端写service不同的是,客户端写的是reference。注意到他们都有group属性,这个属性是用来服务隔离的,客户端只能调用该值相等的服务端。

客户端可以这样调用服务:

String s = serviceA.a();
int i = serviceB.b(1);

 

 

大家用的多的其实是当当网的dubbox:

<dependency>
    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.9</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.8.4</version>
</dependency>

 

0
1
分享到:
评论

相关推荐

    Dubbo新手入门实例HelloWorld(zookeeper)源码

    【Dubbo新手入门实例HelloWorld(zookeeper)源码】是一个非常适合初学者的教程,它将带你深入了解如何在实际项目中使用Dubbo框架,并结合Zookeeper作为注册中心进行服务治理。Dubbo是阿里巴巴开源的一个高性能、轻量...

    dubbo入门示例源码

    6. **配置(Config)**:Dubbo 提供了 XML、API 和 Spring 注解等多种方式进行服务的配置,包括服务的元数据、服务版本、超时时间等。 在提供的 "dubbo_provide_demo" 文件中,我们可以看到服务提供者的实现。这...

    Dubbo 官方中文入门文档

    【Dubbo官方中文入门文档】是为初学者和开发者提供的一份详尽的指南,旨在帮助用户快速理解和掌握Apache Dubbo这一高性能、轻量级的Java远程服务调用框架。Dubbo是阿里巴巴开源的分布式服务框架,它具有服务治理、...

    dubbo demo 入门基础

    【标题】"dubbo demo 入门基础"涵盖了关于Dubbo这一知名微服务框架的基础知识,它是阿里巴巴开源的一款高性能、轻量级的服务治理方案。Dubbo致力于提供高性能和透明化的RPC远程调用服务,以及丰富的服务治理功能。...

    dubbo-demo 简单入门例子

    【标题】"dubbo-demo 简单入门例子"是一个基于Dubbo框架的示例项目,旨在帮助初学者快速理解并掌握Dubbo的基本用法。Dubbo是阿里巴巴开源的一个高性能、轻量级的服务治理框架,它主要应用于分布式系统的微服务架构中...

    Dubbo入门实例Demo

    【Dubbo入门实例Demo】是针对初学者设计的一个实践教程,旨在帮助新手快速理解并掌握Apache Dubbo这一高性能、轻量级的Java RPC框架。在学习过程中,新手往往会在配置、依赖、通信等方面遇到诸多问题,这个Demo就是...

    dubbo入门demo样例

    另外,`dubbo.xsd`文件是Dubbo的XML配置文件的Schema定义,它定义了Dubbo配置的所有元素和属性,确保我们的XML配置文件格式正确。在导入项目后,如果遇到找不到`dubbo.xsd`的问题,需要确保Maven能够正确地下载并...

    dubbo入门教程+实例源码

    【Dubbo入门教程+实例源码】是一份针对初学者设计的教程,旨在帮助开发者快速理解和掌握Apache Dubbo这一高性能、轻量级的服务治理框架。Dubbo是阿里巴巴开源的一个分布式服务框架,它提供了服务注册与发现、负载...

    dubbo入门例子程序

    6. **Dubbo配置**: Dubbo的配置可以通过XML文件或Java注解完成。XML配置通常在`dubbo.properties`和`application.xml`中,包含服务的元数据、服务提供者和消费者的配置信息。注解方式则更简洁,直接在接口和实现类...

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

    在本篇中,我们将深入探讨Dubbo入门示例,特别是基于属性配置的方式。Dubbo是一个高性能、轻量级的开源Java RPC框架,旨在提供一种简单易用的服务治理方案。通过属性配置,我们可以更加灵活地控制服务的行为,实现...

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

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

    Dubbo入门_实战

    ### Dubbo入门实战详解 #### 一、Dubbo概述与应用场景 ##### 1.1 什么是Dubbo? Dubbo是一款由阿里巴巴开发的分布式服务框架,它致力于提供高性能和透明化的RPC远程服务调用方案。该框架是阿里巴巴SOA服务化治理...

    dubbo官方配置指南

    Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,它的配置指南对于初学者和入门者来说是理解其工作原理的关键。本指南主要介绍 Dubbo 的配置元素及其在服务发现、治理和性能调优中的作用。 首先,我们要了解的是...

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

    2. **配置文件**:编写Dubbo的配置文件(如dubbo.properties),配置服务地址、端口等基本信息。 3. **声明式编程**:通过注解(@Service/@Reference)的方式声明服务提供者和消费者。 4. **启动应用**:运行Spring ...

    dubbo入门的demo

    【标题】"dubbo入门的demo" Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了服务发现、服务治理、流量控制、熔断机制等功能,是阿里巴巴贡献给Apache基金会的重要项目。本Demo旨在帮助初学者理解并掌握...

    dubbo 入门经验 总结

    Dubbo是中国阿里巴巴公司开源的一款高性能、轻量级的Java服务治理框架,它主要为企业级分布式应用提供服务调用、注册、发现、配置、监控等能力。这篇总结将深入探讨Dubbo的核心概念、安装过程以及如何通过示例进行...

    ELK项目(好客租房系统)前台后代码、文档及Dubbo快速入门.zip

    通过阅读提供的Dubbo快速入门文档,开发者可以了解到如何配置服务提供者和消费者,以及如何利用Zookeeper进行服务治理。 该项目包含了前后台代码,意味着我们可以深入研究好客租房系统的设计与实现。前端部分可能...

    dubbo 入门案例 helloworld

    【标题】"Dubbo入门案例HelloWorld"是一个基础的学习教程,旨在帮助初学者理解并实践Dubbo框架的基本用法。Dubbo是阿里巴巴开源的一款高性能、轻量级的Java RPC(远程过程调用)框架,它提供了服务治理、负载均衡、...

Global site tag (gtag.js) - Google Analytics