Apache Dubbo 使用教程
dubbo-websiteApache Dubbo documents项目地址:https://gitcode.com/gh_mirrors/du/dubbo-website
项目介绍
Apache Dubbo 是一个高性能、易于使用的分布式服务框架,主要用于构建企业级微服务。Dubbo 提供了内置的服务发现、流量管理、可观察性、安全性等功能,支持多种协议(如 HTTP/2、gRPC、REST、Thrift 和 TCP),并提供多语言 SDK 支持。Dubbo 由阿里巴巴发明,多年来成功支持了数十亿的服务调用。
项目快速启动
环境准备
- Java 8 或更高版本
- Maven 3.2.5 或更高版本
创建 Maven 项目
- 创建一个新的 Maven 项目:
mvn archetype:generate -DgroupId=com.example -DartifactId=dubbo-demo -Dversion=1.0-SNAPSHOT -Dpackage=com.example.dubbo
- 在
pom.xml
中添加 Dubbo 依赖:
<dependencies>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>2.7.8</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>2.7.8</version>
<type>pom</type>
</dependency>
</dependencies>
编写服务接口
创建一个简单的服务接口:
package com.example.dubbo.service;
public interface HelloService {
String sayHello(String name);
}
实现服务接口
实现服务接口:
package com.example.dubbo.service.impl;
import com.example.dubbo.service.HelloService;
public class HelloServiceImpl implements HelloService {
@Override
public String sayHello(String name) {
return "Hello, " + name;
}
}
配置服务提供者
创建 provider.xml
配置文件:
<?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://dubbo.apache.org/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://dubbo.apache.org/schema/dubbo
http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
<dubbo:application name="hello-provider"/>
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>
<dubbo:protocol name="dubbo" port="20880"/>
<dubbo:service interface="com.example.dubbo.service.HelloService" ref="helloService"/>
<bean id="helloService" class="com.example.dubbo.service.impl.HelloServiceImpl"/>
</beans>
启动服务提供者
编写启动类:
package com.example.dubbo;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Provider {
public static void main(String[] args) throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("provider.xml");
context.start();
System.in.read(); // 按任意键退出
}
}
配置服务消费者
创建 consumer.xml
配置文件:
<?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://dubbo.apache.org/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://dub
dubbo-websiteApache Dubbo documents项目地址:https://gitcode.com/gh_mirrors/du/dubbo-website