• 远程方法调用中间件Dubbo在spring项目中的使用


    作者:逍遥Sean
    简介:一个主修Java的Web网站\游戏服务器后端开发者
    主页:https://blog.csdn.net/Ureliable
    觉得博主文章不错的话,可以三连支持一下~ 如有需要我的支持,请私信或评论留言!

    远程方法调用中间件Dubbo安装并在spring项目中使用

    下载安装dubbo

    Dubbo是一个高性能分布式服务的Java RPC框架,它可以可以帮助实现不同应用之间的远程调用,帮助我们快速开发和提供高性能、高可靠性的分布式服务,同时提供服务治理、容错、负载均衡等功能。

    1. 下载Dubbo:前往Dubbo的官方网站(https://dubbo.apache.org/zh-cn/)下载最新版本的Dubbo。

    2. 安装Zookeeper:Dubbo依赖于Zookeeper,需要先安装Zookeeper。在Zookeeper的官网(https://zookeeper.apache.org/)下载最新版本的Zookeeper。

    3. 启动Zookeeper:解压Zookeeper,进入bin目录,执行命令:./zkServer.sh start,即可启动Zookeeper。

    4. 解压Dubbo:将Dubbo的压缩包解压缩到本地。

    5. 编写Dubbo配置文件:在Dubbo解压后的目录下,新建一个名为dubbo.properties的文件,并在其中写入Dubbo的配置信息。

    6. 启动应用:在应用的启动脚本中,增加启动Dubbo的命令。例如,在Java应用的启动脚本中,增加以下代码:

    java -Djava.ext.dirs=$JAVA_HOME/lib/ext \
         -Djava.net.preferIPv4Stack=true \
         -Ddubbo.application.logger=slf4j \
         -Ddubbo.registry.address=zookeeper://127.0.0.1:2181 \
         -jar your-jar.jar
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 测试Dubbo:启动应用后,可以使用Dubbo提供的控制台进行测试(http://localhost:8080/)。

    以上就是Dubbo的下载安装步骤。需要注意的是,Dubbo的安装过程比较复杂,建议了解基本的Java和RPC相关知识后再进行安装

    spring中使用dubbo

    使用Dubbo可以分为以下步骤:

    1. 引入dubbo依赖
      pom.xml文件中添加dubbo依赖:
    <dependency>
        <groupId>com.alibabagroupId>
        <artifactId>dubbo-spring-boot-starterartifactId>
        <version>${dubbo.version}version>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 配置dubbo
      application.propertiesapplication.yml配置文件中添加dubbo的配置:
    # 注册中心地址
    dubbo.registry.address=zookeeper://127.0.0.1:2181
    
    # 应用名
    dubbo.application.name=example-provider
    
    # 服务提供者协议
    dubbo.protocol.name=dubbo
    dubbo.protocol.port=20880
    
    # 服务提供者接口包名
    dubbo.scan.base-packages=com.example.service.impl
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    1. 编写服务提供者
      编写服务提供者接口和实现类:
    public interface GreetingService {
        String sayHello(String name);
    }
    
    @Service
    public class GreetingServiceImpl implements GreetingService {
        @Override
        public String sayHello(String name) {
            return "Hello, " + name;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在实现类上添加@Service注解,将服务实现类暴露给dubbo框架。

    1. 启动dubbo服务提供者
      在Spring Boot应用的入口类中添加@EnableDubbo注解,开启dubbo的功能:
    @SpringBootApplication
    @EnableDubbo
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. 测试dubbo服务

    可以使用dubbo自带的Dubbo Admin,或者使用dubbo提供的REST API进行测试。也可以编写测试类测试服务是否可用:

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class GreetingServiceTest {
        @Reference
        private GreetingService greetingService;
        
        @Test
        public void testSayHello() {
            String result = greetingService.sayHello("dubbo");
            Assert.assertEquals("Hello, dubbo", result);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在测试类中使用@Reference注解注入dubbo服务,并进行测试。

    具体使用可以参考Dubbo的官方文档和示例代码。

  • 相关阅读:
    Vue中如何进行分布式日志收集与日志分析(如ELK Stack)
    Socks5代理与网络安全:保护隐私、绕过限制与爬虫应用
    【万字长文】基于阿里云PAI平台搭建知识库检索增强的大模型对话系统
    图搜索算法A*、Dijkstra在路径规划中的应用
    vant的作用及其使用方法
    Mocha Pro 2024 v11.0.1 Mac版摄像机反求跟踪插件更新:优化AE/PR/OFX/达芬奇工作流程
    GUI 编程Tkinter----(未完,洗漱)
    【实用小功能10】python运行加速神器——numba(详细教学版)
    继电器在信号系统中的应用
    【安全】网络安全态势感知
  • 原文地址:https://blog.csdn.net/Ureliable/article/details/132606375