`
zuimeitulip
  • 浏览: 58610 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

Dubbo注册和管理服务

阅读更多

 

Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。

 

服务提供者

 

定义服务接口: (该接口需单独打包,在服务提供方和消费方共享)

 

DemoService.java

 

 

DemoService.java
 
 
 
 
package com.alibaba.dubbo.demo;
public interface DemoService {
    String sayHello(String name);
}

 

在服务提供方实现接口:(对服务消费方隐藏实现)

 

DemoServiceImpl.java
 
 
 
 
 
 
package com.alibaba.dubbo.demo.provider;
import com.alibaba.dubbo.demo.DemoService;
 
public class DemoServiceImpl implements DemoService {
        public String sayHello(String name) {
        return "Hello " + name;
    }
}

 

 

 

 

用Spring配置声明暴露服务:

 

provider.xml
 
<?xml version="1.0" encoding="UTF-8"?>
    xsi:schemaLocation="http://www.springframework.org/schema/beans
 
    <!-- 提供方应用信息,用于计算依赖关系 -->
    <dubbo:application name="hello-world-app" />
    <!-- 使用multicast广播注册中心暴露服务地址 -->
    <dubbo:registry address="multicast://224.5.6.7:1234" />
    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="20880" />
    <!-- 声明需要暴露的服务接口 -->
    <dubbo:service interface="com.alibaba.dubbo.demo.DemoService" ref="demoService" />
    <!-- 和本地bean一样实现服务 -->
    <bean id="demoService" class="com.alibaba.dubbo.demo.provider.DemoServiceImpl" />
</beans>

 

加载Spring配置:

 

 

Provider.java
 
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Provider {
    public static void main(String[] args) throws Exception {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"provider.xml"});
        context.start();
        System.in.read(); // 按任意键退出
    }
}

 

服务消费者

 

通过Spring配置引用远程服务:

 

consumer.xml
 
<?xml version="1.0" encoding="UTF-8"?>
    xsi:schemaLocation="http://www.springframework.org/schema/beans
 
    <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
    <dubbo:application name="consumer-of-helloworld-app" />
    <!-- 使用multicast广播注册中心暴露发现服务地址 -->
    <dubbo:registry address="multicast://224.5.6.7:1234" />
    <!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
    <dubbo:reference id="demoService" interface="com.alibaba.dubbo.demo.DemoService" />
</beans>

 

加载Spring配置,并调用远程服务:(也可以使用IoC注入)

 

Consumer.java
 
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.alibaba.dubbo.demo.DemoService;
public class Consumer {
    public static void main(String[] args) throws Exception {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"consumer.xml"});
        context.start();
        DemoService demoService = (DemoService)context.getBean("demoService"); // 获取远程服务代理
        String hello = demoService.sayHello("world"); // 执行远程方法
        System.out.println( hello ); // 显示调用结果
    }
}
分享到:
评论

相关推荐

    dubbo注册中心与管理工具.zip

    dubbo注册中心与管理者工具

    dubbo注册客户端,客户端监测工具

    dubbo注册客户端,客户端管理工具,dubbo-admin是Dubbo RPC框架的“管理端”,可以对注册的服务(provider)和服务调用方(comsumer)进行服务治理,包括路由、监控、配置等功能;

    dubbo注册中心文件

    dubbo-admin-0.2.0-SNAPSHOT.jar ====&gt; dubbo-admin 后台管理服务 start.sh ====&gt; 容器服务启动脚本,通过这个脚本,同时运行两个服务 dubbo.tar ====&gt; 我自己的镜像文件 使用说明 1、dubbo.tar为我...

    Dubbo管理控制台的安装

    Dubbo 管控台 可以对注 册到 zookeeper ookeeper 注册中心的服务 册中心的服务 册中心的服务 或服务消费 服务消费 者进行管理,但 进行管理,但 进行管理,但 管控台 是否 正常对 正常对 DubboDubbo 服务没有 务没有...

    dubbo项目管理

    这是一个dubbo注册服务的监控程序,是dubbo服务的管理控制台。可以查看到有多少服务注册,有多少消费者、提供者等等。 它是一个web程序,发布到tomcat里即可使用不过需要自己修改一下 关于zookeeper的配置。

    Dubbo zookeeper注册中心文档

    Zookeeper一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据 ,这里能很好的作为Dubbo服务的注册中心,Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能...

    dubbo服务监控中心

    dubbo的使用,其实只需要有注册中心,消费者,提供者这三个就可以使用了,但是并不能看到有哪些消费者和提供者,为了更好的调试,发现问题,解决问题,因此引入dubbo-admin。通过dubbo-admin可以对消费者和提供者...

    基于SpringBoot和Seata实现Dubbo分布式事务管理系统源码+数据库+项目说明.zip

    主要介绍SpringBoot2.1.5 + Dubbo 2.7.3 + Mybatis 3.4.2 + Nacos 1.1.3 +Seata 0.8.0整合来实现Dubbo分布式事务管理,使用Nacos 作为 Dubbo和Seata的注册中心和配置中心,使用 MySQL 数据库和 MyBatis来操作数据。...

    dubbo和zookeeper的关系.rar

    而Zookeeper是一个分布式协调服务,可以用来管理和协调分布式系统中的各种服务。 Dubbo使用Zookeeper来进行服务发现和注册。在Dubbo架构中,服务提供者将自己注册到Zookeeper中心节点的一个子节点上,而服务消费者...

    dubbo-admin-2.5.10.war 包CSDN下载

    Admin是Dubbo控制台管理的工具,是Dubbo组件之一,需要Dubbo-Admin管理平台来实时对服务调用情况进行调整,比如控制分布式服务的调用权重等,通过调整调整调用权重来控制负载均衡,以及通过该平台来管理生产者和消费...

    dubbo和zookeeper的关系简述

    Dubbo是一个高性能的Java RPC框架,用于构建分布式应用和服务。它提供了服务治理、负载均衡、容错机制等功能,使得开发者可以更方便地构建分布式系统。Dubbo支持多种协议,如REST、SOAP和RPC等,并且可以与多种注册...

    dubbo-admin-2.6.0.zip

    dubbo-admin是dubbo控制台管理工具,需要Dubbo-Admin管理平台来实时的查看...修改解压后的WEB-INF下的dubbo.properties文件,用来设置zookeeper注册中心的服务地址和端口号 支持jdk1.8 不知道为啥2.5.4版本只能用jdk1.7

    dubbo开发文档

    重构动态配置模块,动态配置和注册中心分离,集成流行的开源分布式配置管理框架 服务元数据注册与注册中心分离,丰富元数据内容 适配流行的consul etcd等注册中心方案 考虑提供opentrace, oauth2, metrics, health,...

    尚硅谷Dubbo 2018年8月28发布

    ZooKeeper注册中心.avi 07、尚硅谷_Dubbo_环境搭建_管理控制台.avi 08、尚硅谷_Dubbo_环境搭建_创建提供者消费者工程.avi 09、尚硅谷_Dubbo_服务提供者配置&测试.avi 10、尚硅谷_Dubbo_服务消费者配置&测试.avi 11、...

    dubbo中文文档.zip

    Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 本文提供了其中文文档之中的用户手册、开发手册、管理手册。

    dubbo-monitor-simple-2.6.1.tgz

    dubbo官方自带了dubbo-admin及dubbo-simple/dubbo-monitor-simple二个子项目用于服务治理及服务监控。...配置好了之后可以结合dubboadmin管理后台使用,可以清晰的看到服务的访问记录、成功次数、失败次数。

    分布式服务dubbo框架的实例演示

    1,基于Spring XML配置管理dubbo的提供者与消费者 2,清晰的maven项目结构 3,使用sl4j+logback日志输出 4,google guava使用 5,dubbo消费者实例 6,多线程压测dubbo服务 7,dubbo的性能参数验证,比如timeout,...

    分布式RPC框架Apache Dubbo

    分布式RPC框架Apache Dubbo的使用步骤,服务注册中心Zookeeper安装使用,Dubbo管理控制台配置使用说明文档,还有dubbo入门案例

    spring 整合dubbo,maven 多模块

    http://localhost:18080/dubbo-admin-2.6.0/ 帐号:guest 密码:guest 访问dubbo-admin 服务管理后台,观察生产者消费者注册状态 把源码导入到eclipse 里面。 1.base-dubbo-web 布置到tomcat-8080 里 1.base-...

    Dubbo控制台最新版本.zip

     运行dubbo admin server dubbo admin server是一个标准的spring boot项目, 可以在任何java IDE中运行它运行dubbo admin ui dubbo admin ui由npm管理和构建,在开发环境中,可以单独运行: npm run ...

Global site tag (gtag.js) - Google Analytics