Plantre Plantre
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

plantre

一个后端开发者
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 计算机组成原理

  • 操作系统

  • 计算机网络

  • 设计模式

  • Java

  • Spring

  • SpringCloud

  • MySQL

  • Redis

  • 分布式

  • Zookeeper

  • Dubbo

    • dubbo没有服务端吗
      • 两个独立的springboot项目可以用dubbo吗,不是spring cloud
      • 和http调用的区别
      • ​​Dubbo和SpringCloud适用场景
    • Kafka

    • 数据结构

    • 算法

    • OJ

    • 从道家哲学看计算机?
    • 后端
    • Dubbo
    plantre
    2025-06-24
    目录

    dubbo没有服务端吗

    Dubbo 框架明确包含服务端(即服务提供者)的角色,它是框架的核心组件之一。以下是详细说明:

    # 🛠️ 1. 服务端的定义与作用

    • 服务端(Provider):负责实现具体的业务逻辑,将服务接口暴露到网络中,供消费者(Consumer)远程调用。
    • 核心任务:
      • 定义服务接口及实现类(例如 HelloServiceImpl 实现 HelloService 接口)。
      • 通过配置(XML 或注解)将服务注册到注册中心(如 Zookeeper、Nacos)。
      • 监听指定端口(如默认的 20880),接收并处理消费者请求。

    # ⚙️ 2. 服务端的配置与启动流程

    • 配置方式:
      • XML 配置:使用 <dubbo:service> 标签暴露服务,指定接口、实现类、协议和端口。
        <dubbo:service interface="com.example.DemoService" ref="demoService" />
        <bean id="demoService" class="com.example.DemoServiceImpl" />
        
        1
        2
      • 注解配置:通过 @Service 注解标记实现类(Dubbo 2.7+)。
        @Service
        public class DemoServiceImpl implements DemoService { ... }
        
        1
        2
    • 启动流程:
      1. 加载 Spring 上下文,解析 Dubbo 配置。
      2. 将服务信息注册到注册中心(如地址、接口、版本)。
      3. 初始化网络通信模块(基于 Netty),监听请求。

    # 🔄 3. 服务端与注册中心的交互

    • 服务注册:启动时向注册中心发送自身地址和接口信息。
    • 心跳维持:通过长连接确保注册中心感知服务存活状态。
    • 动态发现:若服务端宕机,注册中心会通知消费者更新服务列表。

    # 💡 4. 服务端与消费者的协作

    • 消费者从注册中心获取服务端地址列表,根据负载均衡策略(如随机、轮询)选择目标服务端发起调用。
    • 服务端处理请求后返回结果,消费者无需感知远程调用的复杂性。

    # ⚠️ 5. 常见误解澄清

    • Dubbo 必须有服务端:没有服务端,消费者无法调用任何服务。
    • 直连模式:在测试场景下,消费者可绕过注册中心直连服务端(需配置 url 参数),但这仍依赖服务端的存在。

    # 💎 总结

    Dubbo 服务端(Provider)是框架的基石,承担服务实现、注册、暴露和请求处理的核心职责。其配置和启动流程与注册中心、消费者紧密协同,共同构成分布式服务调用的闭环。若需进一步验证,可参考 Dubbo 官方示例中的服务端代码实现。

    编辑 (opens new window)
    上次更新: 2025/06/24, 00:41:57
    docker搭建Zookeeper集群
    两个独立的springboot项目可以用dubbo吗,不是spring cloud

    ← docker搭建Zookeeper集群 两个独立的springboot项目可以用dubbo吗,不是spring cloud→

    最近更新
    01
    集成loki
    07-04
    02
    TCP的ESTABLISHED是什么意思
    06-24
    03
    安装1panel
    06-24
    更多文章>
    Theme by Vdoing | Copyright © 2025-2025 plantre | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式