创建提供者消费者工程|学习笔记

简介: 快速学习创建提供者消费者工程

开发者学堂课程【阿里巴巴分布式服务框架Dubbo快速入门:创建提供者消费者工程】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/624/detail/9460


创建提供者消费者工程


首先想象一个场景,假设,有样一个需求,某一个电商系统里一个订单服务模块有一个创建订单的功能,创建订单时要去用户服务模块来查询用户的地址,而且,订单模块跟用户模块都在不同的服务器上,要进行远程通信,这种情况就相当于这个用户服务为我们提供能查询用户收货地址的功能,它是一个服务提供者,而订单服务,他想要获取到用户的收货地址,他是我们服务消费者。

那么就来创建这两个项目。

image.png

打开 Eclipse 创建一个 Maven 形式的新项目

填写 Group Id 和 Artifact Id

点击 Finish

image.png

选择左侧的 src/main/java 文件并新建一个包并将功能代码复制进去

点击进入 UserAddress.java 并进行相关操作

创建一个订单服务的项目

再次创建一个新的工程

填写 Group Id 和 Artifact Id

创建一个新的订单接口并初始化订单

Public void initOrder(String userId)

在创建一个订单的实现类并命名为 OrderService

将订单的接口复制过来

在 gmall 上创建一个 bean 包并把订单的 java bean 复制过来

在命令框中输入

UserService userService;

@Override

public voidiniterdec(steina urecTar.d

// TODO Auto-generated

//1、查询用户的收货地址

ListaddressList=

userService.getUserAddressList(userId);

System.out.println(addressList);

建议将服务接口,服务模型,服务异常等均放在 API 包中,因为服务模型及异常也是 API 的一部分,同时这样做也符合分包原则:重用发布等价原则(REP),共同重用原则(CRP)。

如果需要,也可以考虑在 API 包中放置一份 spring 的引用配置,这样使用方,只需在 spring 加载过程中引用此配置即可,配置建议放在模块的包目录下,以免冲突,

如:con/alibaba/china/xxx/dubbo-reference.xml。

再次创建一个新的公共工程填写 Group Id 和 Artifact Id

将接口复制进新的工程

打开刚刚新建的公共工程

输入<dependency>并插入依赖

<dependencies>

<dependency>

<groupId>com.atguigu.gmall</groupId> <artifactId>gmall-interface</<artifactId>        <version>0.0.1-SNAPSHT</version>

</dependency>


相关文章
|
消息中间件 Java Kafka
Spring Boot集成Kafka动态创建消费者与动态删除主题(实现多消费者的发布订阅模型)
Spring Boot集成Kafka动态创建消费者与动态删除主题(实现多消费者的发布订阅模型)
17382 1
Spring Boot集成Kafka动态创建消费者与动态删除主题(实现多消费者的发布订阅模型)
|
4月前
|
消息中间件 存储 微服务
微服务命名问题之命名服务(NameServer)在消息发布和消费中扮演角色如何解决
微服务命名问题之命名服务(NameServer)在消息发布和消费中扮演角色如何解决
|
4月前
|
微服务
微服务05----提供者与消费者,被其他微服务调用的服务,是提供者,调用其他服务的人是消费者,如果服务A调用服务B,服务B调用了服务C,那么服务B是什么角色,相对,坐地日行八万里,即可是消费者,提供者
微服务05----提供者与消费者,被其他微服务调用的服务,是提供者,调用其他服务的人是消费者,如果服务A调用服务B,服务B调用了服务C,那么服务B是什么角色,相对,坐地日行八万里,即可是消费者,提供者
|
6月前
|
消息中间件 Java RocketMQ
MQ产品使用合集之在同一个 Java 进程内建立三个消费对象并设置三个消费者组订阅同一主题和标签的情况下,是否会发生其中一个消费者组无法接收到消息的现象
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
109 1
|
传感器 负载均衡 物联网
MQTT v5共享订阅是怎么回事?如何使用共享订阅提高消息订阅的灵活性和可伸缩性?
MQTT v5共享订阅是怎么回事?如何使用共享订阅提高消息订阅的灵活性和可伸缩性?
468 1
|
5月前
|
消息中间件 存储 前端开发
【消息队列开发】 创建核心类
【消息队列开发】 创建核心类
|
消息中间件 负载均衡 Java
微服务技术系列教程(35) - SpringCloud-消息驱动消费者组的实现
微服务技术系列教程(35) - SpringCloud-消息驱动消费者组的实现
43 0
|
6月前
|
消息中间件 网络协议 Kafka
Kafka【付诸实践 02】消费者和消费者群组+创建消费者实例+提交偏移量(自动、手动)+监听分区再平衡+独立的消费者+消费者其他属性说明(实例源码粘贴可用)【一篇学会使用Kafka消费者】
【2月更文挑战第21天】Kafka【付诸实践 02】消费者和消费者群组+创建消费者实例+提交偏移量(自动、手动)+监听分区再平衡+独立的消费者+消费者其他属性说明(实例源码粘贴可用)【一篇学会使用Kafka消费者】
197 3
|
6月前
|
移动开发 小程序 Go
【社区每周】小程序消息订阅插件升级为消息订阅接口(2022年8月第五期)
【社区每周】小程序消息订阅插件升级为消息订阅接口(2022年8月第五期)
40 0
|
SQL 前端开发 Java
SpringCloud(消费者订单模块构建)
SpringCloud(消费者订单模块构建)
110 0
下一篇
无影云桌面