Dubbo+Zookeeper服务的注册与调用实现步骤.

本文介绍了Dubbo和Zookeeper的基本概念,以及如何结合两者进行服务的注册与调用。通过创建provider-server和consumer-server模块,配置接口和服务实现,利用Zookeeper作为注册中心,成功实现了RPC远程过程调用。
摘要由CSDN通过智能技术生成

一. 什么是dubbo?

百度百科:

Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 [1] Spring框架无缝集成。
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现

原理图:原理图
简单来说,dubbo框架能实现远程过程调用,具体流程是provider服务提供者(被调用的一方又称生产者)将服务注册到一个地方,然后Consumer服务的使用者(调用程序的一方又称消费者)在从这个地方拿到服务.那么"这个地方"是哪呢?

二.什么是Zookeeper?

  1. 作用:服务注册与发现,.简单来说它在这儿就是一个注册中心,生产者将服务注册进来,消费者从里面拿出去使用,充当一个桥梁的作用.
  2. ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务.

Zookeeper下载

三.Dubbo+Zookeeper简单实现远程调用

  1. 第一步:idea创建一个空项目,在空项目下使用spring initializr创建两个模块
    生产者模块(provider-server),消费者模块(consumer-server).
    在这里插入图片描述

  2. 第二步:provider-server配置,将要暴露的接口注册到注册中心

配置文件:

server.port=8081

# 要暴露的服务应用名字
dubbo.application.name=provider-server

# 注册中心地址即zookeeper地址,可以在任意地方启动
dubbo.registry.address=zookeeper://127.0.0.1:2181

# 要被注册的服务,即扫描要被注册服务的包
dubbo.scan.base-packages=com.
Dubbo + Zookeeper 的项目启动顺序大致可以分为以下几个步骤: 1. **Zookeeper 启动**:首先,需要启动Zookeeper服务。这是集群管理的基础,用于协调分布式系统中各个节点的状态和服务发现。 2. **注册中心(Zookeeper作为注册中心)配置**:接下来,在Dubbo项目的配置文件中设置Zookeeper作为注册中心的信息,包括Zookeeper的地址、端口等信息。这一步决定了Dubbo应用如何通过Zookeeper服务提供者和消费者交互。 3. **服务提供者启动**:服务提供者启动时,会向注册中心(即Zookeeper注册其提供的服务。这里的注册过程包含了两个关键步骤: - **检查点**:在启动服务之前,通常会先检查某个状态点(如某个目录路径),以确保所有必要的组件已经就绪并正常运行。 - **注册服务**:服务提供者将自身的服务信息(例如服务名、版本、实现类等)注册Zookeeper上,形成服务目录树结构,方便后续服务查找。 4. **服务消费者启动**:服务消费者在启动时,会从注册中心查询可用的服务列表。这个过程中可能会涉及到缓存机制,减少对注册中心的频繁访问压力。当消费者发现目标服务后,会建立连接并准备调用服务。 5. **服务调用**:在完成以上步骤之后,消费者就可以通过创建的连接调用提供者的服务了。Dubbo会负责处理服务调用的过程,包括序列化数据、网络传输、远程调用、异常处理等。 6. **关闭资源**:最后,在程序结束前,应确保所有资源得到正确的释放,避免内存泄漏或其他潜在的问题。 在这个过程中,Zookeeper 作为核心的协调服务,保证了服务提供者和服务消费者的稳定通信,并实现了动态服务发现的功能。Dubbo框架则提供了高效、易用的RPC(Remote Procedure Call)机制,使得服务间的调用更为便捷和可靠。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值