package com.alibaba.dubbo.demo;
public interface DemoService {
public String sayHello(String name);
}
----实现
/*
* Copyright 1999-2011 Alibaba Group.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.dubbo.demo.provider;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.alibaba.dubbo.demo.DemoService;
import com.alibaba.dubbo.rpc.RpcContext;
public class DemoServiceImpl implements DemoService {
int i = 0;
public String sayHello(String name) {
// System.out.println(i++);
// System.out.println("["
// + new SimpleDateFormat("HH:mm:ss").format(new Date())
// + "] Hello " + name + ", request from consumer: "
// + RpcContext.getContext().getRemoteAddress());
return "Hello " + name + ", response form provider: "
+ RpcContext.getContext().getLocalAddress();
}
}
重要的是配置
<?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-2.5.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="hello-world-app" />
<dubbo:registry address="multicast://224.5.6.7:1234" />
<dubbo:protocol name="dubbo" port="20880" />
<bean id="demoService" class="com.alibaba.dubbo.demo.provider.DemoServiceImpl" />
<dubbo:service interface="com.alibaba.dubbo.demo.DemoService" ref="demoService" />
</beans>
-------客户端的调用
<?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-2.5.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="consumer-of-helloworld-app" />
<dubbo:registry address="multicast://224.5.6.7:1234" />
<dubbo:reference id="demoService"
interface="com.alibaba.dubbo.demo.DemoService" />
</beans>
----------------代码
package com.cndatacom.dubbo.demo.comsumer;
import java.util.Date;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.alibaba.dubbo.demo.DemoService;
public class ComsumerTester {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "applicationContext.xml" });
context.start();
DemoService demoService = (DemoService) context.getBean("demoService");
String name=demoService.sayHello("xiaoming");
System.out.println(name+"出现了");
// Date dt = new Date();
// for (int i = 0; i < 5000; i++) {
// String hello = demoService.sayHello("world");
// System.out.println(hello+"-----------------出现了");
// }
//System.out.println("耗时:" + ((new Date()).getTime() - dt.getTime())+ "ms");
}
}
相关推荐
在IT行业中,分布式服务框架是构建大型互联网应用的关键技术之一,Dubbo作为阿里巴巴开源的一款高性能、轻量级的Java RPC框架,被广泛应用于服务治理。本篇将详细讲解如何利用Dubbo结合Zookeeper来实现Web服务...
Dubbo是阿里巴巴开源的一款基于Java的RPC(远程过程调用)框架,它能够使服务消费方和服务提供方通过网络进行通信,简化分布式系统的开发和维护。 2. **Dubbo的核心组件有哪些?** 主要包括:服务提供方...
Dubbo是一个高性能、轻量级的Java开源RPC框架,它主要设计用于构建微服务架构,提供了服务自动注册、服务发现、服务治理等高级服务管理功能。Dubbo支持多种通信协议,每种协议都有其特定的应用场景和优缺点。 1. **...
Dubbo是一个开源的RPC框架,它提供服务自动注册、自动发现等功能,以实现高效的服务治理。Dubbo支持多种通信协议,如dubbo、rmi、webservice、http、hessian、memcache和redis。每种协议有其特定的应用场景和优缺点...
1. **Dubbo框架**:Dubbo是一个高性能、轻量级的Java开源服务框架,由阿里巴巴开发并维护,主要目标是提供一个简单、高性能的分布式服务调用解决方案。它包含服务治理、容错机制、负载均衡、监控等多个核心功能。 2...
Dubbo是阿里巴巴开源的一款高性能、轻量级的Java服务框架,广泛应用于分布式系统开发,尤其在微服务架构中扮演着重要角色。 一、Dubbo基础介绍 Dubbo是一款基于Java的RPC(远程过程调用)框架,旨在提高服务的可...
Dubbo是一个高性能、轻量级的开源Java RPC框架,由阿里巴巴开发并维护,旨在提供简单、高效的服务发现和调用能力,促进微服务架构的发展。Dubbo的核心功能包括服务注册与发现、远程调用、负载均衡、容错机制以及监控...
服务治理中间件Dubbo是阿里巴巴基于开源思想使用Java语言实现的高性能RPC框架,它支持服务的注册与发现、负载均衡、容错处理等服务治理功能。Dubbo采用微内核架构加插件体系的设计模式,通过SPI(Service Provider ...
Dubbo是一款由阿里巴巴开源的高性能、轻量级的Java服务框架,它主要关注服务治理和服务调用。在标题和描述中提到的“dubbo rest rpc相关jar包”是指Dubbo支持RESTful API调用的扩展模块,这使得Dubbo能够与更广泛的...
Dubbo是阿里巴巴开源的一款基于Java的高性能RPC(远程过程调用)分布式服务框架。它现在已经成为Apache基金会的孵化项目。Dubbo的主要目标是提供一种简单、高效的服务治理方案,帮助开发者构建分布式系统。它通过...
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。 Dubbo是一款基于Netty的高性能、轻量级的RPC框架,其主要功能包括:面向...
- **架构**: Dubbo是阿里巴巴开源的一个高性能Java RPC框架,它提供了丰富的功能,包括但不限于服务注册与发现、负载均衡、容错、集群容错等。这些功能支持了分布式环境下的高效服务通信和管理。 #### 2. 入门使用 ...
Dubbo 是一款由阿里巴巴开源的分布式服务框架,它提供了一整套解决方案来支持微服务架构中的服务治理和服务通信。 #### 1. **远程服务调用** Dubbo 支持多种远程调用协议,如 Netty、Mina、Grizzly 等,同时也兼容...
**Dubbo** 是阿里巴巴开源的一款面向服务架构(SOA)的高性能微服务框架。它主要用于构建基于Java的应用程序,帮助开发者更容易地构建、部署和管理分布式应用。Dubbo的核心功能包括服务的发布与订阅、服务调用、负载...
Dubbo是阿里巴巴开源的一个高性能、轻量级的Java RPC框架,它提供了丰富的功能,包括服务自动注册与发现、负载均衡、软负载均衡、高可用性、容错、集群容错、路由等。通过阅读和分析Dubbo源码,我们不仅可以理解其...
Dubbo是阿里巴巴开源的一款高性能、轻量级的Java服务治理框架,它主要为企业级应用提供分布式服务调用、服务治理和远程通信等功能。在提供的压缩包中,包含了两个不同版本的Dubbo核心库:2.5.3和2.8.4。这两个版本在...
4. Java RPC机制:了解Java RPC机制,如rmi、hessian、thrift、webservice等,这些是理解Dubbo底层通信机制的关键。 5. Java其他内容:涉及序列化、SPI、代理、Classloader、ScriptEngine等Java高级特性。 在了解...
Dubbo是一个基于Java的高性能、轻量级的开源RPC框架,致力于提供高性能和透明化的RPC远程服务调用方案。 Dubbo 的出现是为了解决服务化带来的复杂性问题,提供了一个服务治理框架来管理服务之间的调用和依赖关系。 ...
Dubbo是一款高性能的Java RPC框架,由阿里巴巴开源,用于构建分布式应用。它提供了多种配置方式,包括XML配置、属性配置、API配置和注解配置。用户可以在多种不同的场景下应用Dubbo,并可以使用其丰富的功能特性。...