`
zuimeitulip
  • 浏览: 59994 次
  • 性别: 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服务注册到eureka.zip

    Eureka 由两部分组成:Eureka Server(服务注册中心)和服务提供者(Service Provider)和服务消费者(Service Consumer)。服务提供者在启动时会向 Eureka Server 注册自己的信息,而服务消费者则可以通过 Eureka ...

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

    1. 注册中心的作用:注册中心是Dubbo服务治理的核心组件,它扮演着服务提供者和服务消费者之间的桥梁角色。主要功能包括服务注册、服务发现、负载均衡、故障隔离等,确保服务间的通信稳定可靠。 2. 注册中心类型:...

    dubbo-admin管理

    它提供了丰富的操作界面,使得开发者能够方便地管理和维护Dubbo服务,包括服务的注册、发现、配置、监控等功能,极大地提高了微服务架构下的运维效率。 【描述】:“Dubbo-Admin管理war包是管理dubbo后台的,和普通...

    dubbo监控中心管理

    1. **服务注册与发现**:展示所有注册到监控中心的服务,包括服务提供者和服务消费者的信息,如IP地址、端口、版本等。 2. **服务调用统计**:实时监控服务的调用次数、成功率、平均响应时间等关键指标,帮助识别...

    Dubbo和Spring Cloud微服务架构对比——服务注册和发现.docx

    - **服务管理**:Dubbo支持服务版本管理和权重控制等功能,便于服务治理。 2. **Spring Cloud**: - **注册中心**:Spring Cloud通常使用Eureka作为服务注册中心,也可以集成Consul或Zookeeper。 - **服务发现...

    Dubbo分布式服务管理

    总结来说,Dubbo分布式服务管理是构建大规模分布式系统的基石,通过Maven项目管理和Dubbo的组件机制,可以有效地实现服务的发布、消费、监控,提升系统的可扩展性和稳定性。对于开发者而言,理解和掌握Dubbo的使用,...

    基于Dubbo管理控制台的服务治理.doc

    Dubbo管理控制台则是Dubbo生态中的重要组成部分,用于可视化的服务管理和监控,使得开发者能够更加方便地对微服务进行管理。 1. **Dubbo管理控制台简介** Dubbo管理控制台是一个Web应用,它提供了一整套服务治理的...

    Dubbo 管理控制台介绍.doc

    Dubbo 管理控制台是 Dubbo 生态系统中的一款管理控制台,旨在提供一个统一的管理入口,帮助用户更好地管理和控制 Dubbo 服务。当前最新的管理控制台已经发布了 0.1 版本,采用了前后端分离的架构设计,前端使用 Vue ...

    dubbo_Web管理端

    【标题】"dubbo_Web管理端"涉及的是一个用于监控和管理Dubbo服务的Web应用程序,它提供了直观的界面来管理和操作分布式服务环境。这个压缩包包含了两个版本的war包,分别是针对Java 7(dubbo_admin_jdk7编译.war)和...

    dubbo管理员手册

    管理员手册对于帮助运维人员配置、管理和监控 Dubbo 系统运行至关重要。 ### 知识点概述 #### 安装手册 1. **示例提供者安装**:提供者是 Dubbo 中的服务提供方,其安装包括下载安装包、解压、修改配置文件以及...

    dubbo2.8.4后台管理端版本

    标题提到的是"Dubbo2.8.4后台管理端版本",这通常指的是Dubbo提供的Web管理界面,用于可视化地管理和监控Dubbo服务。 Dubbo管理后台,即dubbo-admin,是Dubbo生态的一部分,它提供了一个Web UI,允许管理员查看和...

    dubbo admin 后台管理监控 支持jdk8

    此外,确保你的Dubbo服务也已经升级到兼容JDK 8的版本,因为Dubbo Admin是用来监控和服务治理这些服务的。 总结来说, Dubbo Admin是一个强大且实用的工具,能够帮助开发者和运维人员更好地管理和监控基于Dubbo的...

    dubbo-admin管理界面

    【标题】"dubbo-admin管理界面" 是Dubbo框架中用于监控和服务管理的重要组件,它提供了可视化的操作界面,使得开发者能够便捷地管理和监控Dubbo服务。Dubbo是阿里巴巴开源的一款高性能、轻量级的Java服务治理框架,...

    dubbo-admin-2.5.4.war dubbo的控制台管理工具

    而`dubbo-admin-2.5.4.war`正是Dubbo提供的一款强大的管理控制台,用于帮助开发者和运维人员更有效地管理和监控Dubbo服务。 首先,让我们深入了解一下`dubbo-admin`的主要功能: 1. **提供者管理**:在Dubbo系统中...

    查看java dubbo服务的dubbo-admin

    总的来说,Java Dubbo服务的管理和监控是通过Dubbo-admin实现的,它为开发者提供了直观的界面和强大的功能,帮助他们更好地理解和控制分布式系统中的服务。通过熟练掌握Dubbo-admin的使用,可以极大地提升开发效率和...

    dubbo+zookeeper实现服务注册发现 dubbo+nacos实现服务注册发现

    - **Nacos**:Nacos是阿里巴巴开源的一款云原生应用的动态服务发现、配置管理和服务管理平台,它集成了服务注册与发现、配置管理、健康检查等功能,具有高性能、高可用和易用性等特点。 - **Dubbo与Nacos的整合**...

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

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

    dubbo-admin:dubbo服务监控

    【标题】"dubbo-admin:dubbo服务监控" 指的是Dubbo生态系统中的一个关键组件,用于管理和监控Dubbo服务。Dubbo是阿里巴巴开源的一个高性能、轻量级的服务治理框架,广泛应用于分布式系统中。它提供了一整套服务治理...

    dubbo 服务提供方 服务消费方

    本篇文章将深入探讨Dubbo服务提供方(Provider)和服务消费方(Consumer)的核心概念、实现原理以及如何通过代码进行交互。 1. **Dubbo服务提供方(Provider)** - **服务注册与发现**:服务提供方在启动时,会将...

    dubbo-dubbo-2.5.9(Dubbo-admin管理平台的安装)

    5. **配置连接Dubbo注册中心**:登录后,你需要配置连接到你的Dubbo服务注册中心,如Zookeeper或Redis。在“系统设置”中填入相应的地址和端口,以便Dubbo-admin能获取到服务信息。 6. **监控与管理**:现在,你...

Global site tag (gtag.js) - Google Analytics