Blage's Coding Blage's Coding
Home
算法
  • 手写Spring
  • SSM
  • SpringBoot
  • JavaWeb
  • JAVA基础
  • 容器
  • Netty

    • IO模型
    • Netty初级
    • Netty原理
  • JVM
  • JUC
  • Redis基础
  • 源码分析
  • 实战应用
  • 单机缓存
  • MySQL

    • 基础部分
    • 实战与处理方案
    • 面试
  • ORM框架

    • Mybatis
    • Mybatis_Plus
  • SpringCloudAlibaba
  • MQ消息队列
  • Nginx
  • Elasticsearch
  • Gateway
  • Xxl-job
  • Feign
  • Eureka
  • 面试
  • 工具
  • 项目
  • 关于
🌏本站
🧸GitHub (opens new window)
Home
算法
  • 手写Spring
  • SSM
  • SpringBoot
  • JavaWeb
  • JAVA基础
  • 容器
  • Netty

    • IO模型
    • Netty初级
    • Netty原理
  • JVM
  • JUC
  • Redis基础
  • 源码分析
  • 实战应用
  • 单机缓存
  • MySQL

    • 基础部分
    • 实战与处理方案
    • 面试
  • ORM框架

    • Mybatis
    • Mybatis_Plus
  • SpringCloudAlibaba
  • MQ消息队列
  • Nginx
  • Elasticsearch
  • Gateway
  • Xxl-job
  • Feign
  • Eureka
  • 面试
  • 工具
  • 项目
  • 关于
🌏本站
🧸GitHub (opens new window)
  • SpringCloudAlibaba

    • Nacos

    • Dubbo

      • Spring整合Dubbo
        • Dubbo泛化调用
      • Zookeeper

      • Sentinel

      • Seata

    • MQ消息队列

    • Nginx

    • Elasticsearch

    • Gateway

    • Xxl-job

    • Feign

    • Eureka

    • 中间件
    • SpringCloudAlibaba
    • Dubbo
    phan
    2023-05-15
    目录

    Spring整合Dubbo

    # Spring整合Dubbo

    • 导入pom依赖,并配置yml,包括扫描包scan.base-packages(包下所有的rpc接口都会注册到服务中),指明服务提供方和消费者通信的端口protocal.port,消费者和提供方的连接方式registry.address。

    • spring整合dubbo注解:

      • @Service/@DubboService:提供方通过该注解进行服务发现注册,首先将扫描到的类对象作为Spring的Bean对象添加到容器中管理,同时生成dubbo服务接口的实现Bean注册到服务中心。
      • @Reference:消费者用来指定要调用dubbo中的哪个服务,包括指明url指明服务提供方的地址绕过注册中心发起调用(直接走直连),interfaceClass指明服务的接口类,然后dubbo会从注册中心/工厂找到并注入该服务。
      • @EnableDubbo:扫描所有@Service的服务实现类加载到Spring容器,并暴露出来。同时扫描所有dubbo配置类。
    • dubbo三种连接方式:

      • 注册中心,提供者向注册中心注册自己提供的服务,然后消费者向注册中心订阅服务

        dubbo:
          application:
            name: Lottery
            version: 1.0.0
          registry:
            address: zookeeper://192.168.200.200:2181
          protocol:
            name: dubbo
            port: 20880
          scan:
            base-packages: com.Last.lottery.rpc
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
      • 直连,@Reference(url="")指定提供方的协议+地址,消费者直接到指定需要的服务的 url 获取服务。便于测试开发。

        dubbo:
          registry:
            address: N/A
        
        1
        2
        3
      • 广播

        dubbo:
          registry:
            address: multicast://224.5.6.7:1234
        
        1
        2
        3
    • 实践

    服务提供方需要提供一个RPC模块,其中封装服务的请求对象和响应对象,以及服务接口,服务接口不需要在模块里面实现,可以在SpringBoot其它模块实现(门面模式),并发RPC模块打包。

    服务调用方需要导入RPC模块jar包,并声明服务接口,使用注解指明服务地址。

    编辑 (opens new window)
    #中间件#SpringCloudAlibaba
    上次更新: 2023/12/15, 15:49:57
    Nacos面试
    Dubbo泛化调用

    ← Nacos面试 Dubbo泛化调用→

    Theme by Vdoing | Copyright © 2023-2024 blageCoder
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式