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注册中心与管理者工具
dubbo注册客户端,客户端管理工具,dubbo-admin是Dubbo RPC框架的“管理端”,可以对注册的服务(provider)和服务调用方(comsumer)进行服务治理,包括路由、监控、配置等功能;
dubbo-admin-0.2.0-SNAPSHOT.jar ====> dubbo-admin 后台管理服务 start.sh ====> 容器服务启动脚本,通过这个脚本,同时运行两个服务 dubbo.tar ====> 我自己的镜像文件 使用说明 1、dubbo.tar为我...
Dubbo 管控台 可以对注 册到 zookeeper ookeeper 注册中心的服务 册中心的服务 册中心的服务 或服务消费 服务消费 者进行管理,但 进行管理,但 进行管理,但 管控台 是否 正常对 正常对 DubboDubbo 服务没有 务没有...
这是一个dubbo注册服务的监控程序,是dubbo服务的管理控制台。可以查看到有多少服务注册,有多少消费者、提供者等等。 它是一个web程序,发布到tomcat里即可使用不过需要自己修改一下 关于zookeeper的配置。
Zookeeper一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据 ,这里能很好的作为Dubbo服务的注册中心,Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能...
dubbo的使用,其实只需要有注册中心,消费者,提供者这三个就可以使用了,但是并不能看到有哪些消费者和提供者,为了更好的调试,发现问题,解决问题,因此引入dubbo-admin。通过dubbo-admin可以对消费者和提供者...
主要介绍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来操作数据。...
而Zookeeper是一个分布式协调服务,可以用来管理和协调分布式系统中的各种服务。 Dubbo使用Zookeeper来进行服务发现和注册。在Dubbo架构中,服务提供者将自己注册到Zookeeper中心节点的一个子节点上,而服务消费者...
Admin是Dubbo控制台管理的工具,是Dubbo组件之一,需要Dubbo-Admin管理平台来实时对服务调用情况进行调整,比如控制分布式服务的调用权重等,通过调整调整调用权重来控制负载均衡,以及通过该平台来管理生产者和消费...
Dubbo是一个高性能的Java RPC框架,用于构建分布式应用和服务。它提供了服务治理、负载均衡、容错机制等功能,使得开发者可以更方便地构建分布式系统。Dubbo支持多种协议,如REST、SOAP和RPC等,并且可以与多种注册...
dubbo-admin是dubbo控制台管理工具,需要Dubbo-Admin管理平台来实时的查看...修改解压后的WEB-INF下的dubbo.properties文件,用来设置zookeeper注册中心的服务地址和端口号 支持jdk1.8 不知道为啥2.5.4版本只能用jdk1.7
重构动态配置模块,动态配置和注册中心分离,集成流行的开源分布式配置管理框架 服务元数据注册与注册中心分离,丰富元数据内容 适配流行的consul etcd等注册中心方案 考虑提供opentrace, oauth2, metrics, health,...
ZooKeeper注册中心.avi 07、尚硅谷_Dubbo_环境搭建_管理控制台.avi 08、尚硅谷_Dubbo_环境搭建_创建提供者消费者工程.avi 09、尚硅谷_Dubbo_服务提供者配置&测试.avi 10、尚硅谷_Dubbo_服务消费者配置&测试.avi 11、...
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 本文提供了其中文文档之中的用户手册、开发手册、管理手册。
dubbo官方自带了dubbo-admin及dubbo-simple/dubbo-monitor-simple二个子项目用于服务治理及服务监控。...配置好了之后可以结合dubboadmin管理后台使用,可以清晰的看到服务的访问记录、成功次数、失败次数。
1,基于Spring XML配置管理dubbo的提供者与消费者 2,清晰的maven项目结构 3,使用sl4j+logback日志输出 4,google guava使用 5,dubbo消费者实例 6,多线程压测dubbo服务 7,dubbo的性能参数验证,比如timeout,...
分布式RPC框架Apache Dubbo的使用步骤,服务注册中心Zookeeper安装使用,Dubbo管理控制台配置使用说明文档,还有dubbo入门案例
http://localhost:18080/dubbo-admin-2.6.0/ 帐号:guest 密码:guest 访问dubbo-admin 服务管理后台,观察生产者消费者注册状态 把源码导入到eclipse 里面。 1.base-dubbo-web 布置到tomcat-8080 里 1.base-...
运行dubbo admin server dubbo admin server是一个标准的spring boot项目, 可以在任何java IDE中运行它运行dubbo admin ui dubbo admin ui由npm管理和构建,在开发环境中,可以单独运行: npm run ...