小白必看Dubbo案例

Dubbo使用示例,我们将通过一个简单的服务提供者(Provider)和服务消费者(Consumer)例子来展示Dubbo的基本用法。我们将创建一个简单的服务接口,服务提供者将实现这个接口,并通过Dubbo框架暴露服务。服务消费者将通过Dubbo调用这个服务。

环境准备

  1. 安装Zookeeper:作为注册中心,用于服务注册和发现。
  2. Maven:项目管理和构建工具。

步骤1:创建服务接口

首先,我们定义一个服务接口。在这个例子中,我们创建一个简单的GreetingService接口,它有一个方法sayHello,接受一个String类型的参数。

public interface GreetingService {
    String sayHello(String name);
}

步骤2:实现服务提供者

服务提供者实现了上面定义的GreetingService接口。

创建服务提供者项目
  1. pom.xml中添加Dubbo和Zookeeper的依赖。
  2. 实现GreetingService接口。
public class GreetingServiceImpl implements GreetingService {
    @Override
    public String sayHello(String name) {
        return "Hello, " + name;
    }
}
  1. 配置Dubbo,暴露服务。

application.properties中配置Dubbo的应用名、注册中心地址等信息。

dubbo.application.name=provider
dubbo.registry.address=zookeeper://localhost:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
dubbo.scan.base-packages=com.example.dubbo.provider

在Spring配置中声明GreetingService的Dubbo服务:

@Service
@DubboService(version = "1.0.0", interfaceClass = GreetingService.class)
public class GreetingServiceImpl implements GreetingService {
    // 实现方法
}

步骤3:创建服务消费者

服务消费者调用服务提供者提供的服务。

创建服务消费者项目
  1. pom.xml中添加Dubbo和Zookeeper的依赖。
  2. 使用Dubbo的@DubboReference注解注入GreetingService
@RestController
public class GreetingController {

    @DubboReference(version = "1.0.0")
    private GreetingService greetingService;

    @GetMapping("/greet/{name}")
    public String greet(@PathVariable("name") String name) {
        return greetingService.sayHello(name);
    }
}
  1. 配置Dubbo,指定注册中心。

application.properties中配置Dubbo的应用名、注册中心地址等信息。

dubbo.application.name=consumer
dubbo.registry.address=zookeeper://localhost:2181

步骤4:运行和测试

  1. 启动Zookeeper服务。
  2. 分别启动服务提供者和服务消费者应用。
  3. 使用浏览器或Postman访问服务消费者的接口,如http://localhost:8080/greet/JavaLearner,观察调用结果。

通过这个简单的例子,你可以看到Dubbo在服务提供和服务消费中扮演的角色。
服务提供者将服务注册到注册中心(Zookeeper),服务消费者从注册中心发现服务并进行调用。这个过程对于消费者来说是透明的,Dubbo框架负责服务的查找、负载均衡等工作。

总结:
希望你能从零基础开始学习并且能熟练运用Dubbo,进而提升你的Java微服务开发能力。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值