带你读《Apache Dubbo微服务开发从入门到精通》——二、 深入示例源码(1)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 带你读《Apache Dubbo微服务开发从入门到精通》——二、 深入示例源码(1)

二、 深入示例源码

 

1. 项目结构介绍

 

在本任务中,将分为3个子模块进行独立开发,模拟生产环境下的部署架构。

 

image.png

 

如上所示,共有3个模块,其中interface模块被consumer和provider两个模块共同依赖,存储RPC通信使用的API接口。

 

.  // apache/dubbo-samples/1-basic/dubbo-samples-spring-boot
├── dubbo-samples-spring-boot-interface       // 共享 API 模块
│   ├── pom.xml
│   └── src
│       └── main
│           └── java
│               └── org
│                   └── apache
│                       └── dubbo
│                           └── springboot
│                               └── demo
│                                   └── DemoService.java // API 接口
├── dubbo-samples-spring-boot-consumer        // 消费端模块
│   ├── pom.xml
│   └── src
│       ├── main
│       │   ├── java
│       │   │   └── org
│       │   │       └── apache
│       │   │           └── dubbo
│       │   │               └── springboot
│       │   │                   └── demo
│       │   │                       └── consumer
│       │   │                           ├── ConsumerApplication.java // 消费端启动类
│       │   │                           └── Task.java                // 消费端模拟调用任务
│       │   └── resources
│       │       └── application.yml       // Spring Boot 配置文件
├── dubbo-samples-spring-boot-provider        // 服务端模块
│   ├── pom.xml
│   └── src
│       └── main
│           ├── java
│           │   └── org
│           │       └── apache
│           │           └── dubbo
│           │               └── springboot
│           │                   └── demo
│           │                       └── provider
│           │                           ├── DemoServiceImpl.java         // 服务端实现类
│           │                           └── ProviderApplication.java     // 服务端启动类
│           └── resources
│               └── application.yml       // Spring Boot 配置文件
└── pom.xml


如上为本教程接下来会使用到的项目的文件结构。

 

2. 快速部署(基于Samples直接启动)

 

本章将通过几个简单的命令,一步一步教你如何部署并运行一个基于Dubbo x Spring Boot的用例。

 

注:本章部署的代码细节可以在apache/dubbo-samples这个仓库中1-basic/dubbo-samples-spring-boot中找到,在下一章中也将展开进行讲解。

 

1) 获取测试工程

 

在开始整个教程之前,我们需要先获取测试工程的代码。Dubbo的所有测试用例代码都存储在apache/dubbo-samples这个仓库中,以下这个命令可以帮你获取Samples仓库的所有代码。

 

image.png

 

2) 启动一个简易的注册中心

 

对于一个微服务化的应用来说,注册中心是不可或缺的一个组件。只有通过注册中心,消费端才可以成功发现服务端的地址信息,进而进行调用。

 

为了让本教程更易于上手,我们提供了一个基于Apache Zookeeper注册中心的简易启动器,如果您需要在生产环境部署注册中心,请参考生产环境初始化一文部署高可用的注册中心。

 

image.png

 

3) 本地打包API模块

 

为了成功编译服务端、消费端模块,需要先在本地打包安装dubbo-samples-spring-boot-interface模块。

 

image.png

 


 《Apache Dubbo微服务开发从入门到精通》——快速开始,一个 Dubbo Spring Boot 示例——二、 深入示例源码(2):https://developer.aliyun.com/article/1225215


 


 


 


相关文章
|
2天前
|
Dubbo Java 应用服务中间件
Dubbo 第四节: Spring与Dubbo整合原理与源码分析
DubboConfigConfigurationRegistrar的主要作⽤就是对propties⽂件进⾏解析并根据不同的配置项项⽣成对应类型的Bean对象。
|
16天前
|
NoSQL Java Redis
【Spring Boot 源码学习】JedisConnectionConfiguration 详解
【2月更文挑战第5天】本篇 Huazie 带大家从源码分析 JedisConnectionConfiguration 配置类
62 6
【Spring Boot 源码学习】JedisConnectionConfiguration 详解
|
16天前
|
消息中间件 Java 开发者
Spring Cloud Stream解密:流式数据在微服务中的魔力
Spring Cloud Stream解密:流式数据在微服务中的魔力
213 1
|
16天前
|
负载均衡 监控 Dubbo
探秘Dubbo Registry:微服务架构的核心【十二】
探秘Dubbo Registry:微服务架构的核心【十二】
11 0
|
16天前
|
Dubbo Java 应用服务中间件
实战指南:如何在Spring Boot中无缝整合Dubbo【四】
实战指南:如何在Spring Boot中无缝整合Dubbo【四】
23 0
|
16天前
|
Java Nacos Maven
从零搭建微服务架构:Spring Boot与Nacos完美整合
从零搭建微服务架构:Spring Boot与Nacos完美整合
33 0
|
17天前
|
NoSQL Java Redis
【Spring Boot 源码学习】RedisAutoConfiguration 详解
【2月更文挑战第4天】本篇 Huazie 带大家一起从源码深入了解 RedisAutoConfiguration 配置类
25 2
【Spring Boot 源码学习】RedisAutoConfiguration 详解
|
19天前
|
存储 Dubbo 应用服务中间件
SpringCloud | Dubbo 微服务实战——注册中心详解
SpringCloud | Dubbo 微服务实战——注册中心详解
|
19天前
|
Java Nacos Docker
Spring Cloud Alibaba【什么是Nacos、Nacos Server下载安装 、Docker安装Nacos Server服务、微服务聚合父工程构建】(一)
Spring Cloud Alibaba【什么是Nacos、Nacos Server下载安装 、Docker安装Nacos Server服务、微服务聚合父工程构建】(一)
30 0
|
19天前
|
Java 调度 开发工具
SpringCloud【微服务架构进化论、微服务的拆分规范和原则、为什么选择Spring Cloud、什么是服务治理 】(一)-全面详解(学习总结---从入门到深化)
SpringCloud【微服务架构进化论、微服务的拆分规范和原则、为什么选择Spring Cloud、什么是服务治理 】(一)-全面详解(学习总结---从入门到深化)
67 0

相关产品

  • 云消息队列 MQ
  • 云消息队列 Kafka 版
  • 微服务引擎
  • 推荐镜像

    更多