2流高手速成记(之七):基于Dubbo&Nacos的微服务简要实现
本节内容会用到之前给大家讲过的这两篇:
2流高手速成记(之六):从SpringBoot到SpringCloudAlibaba
2流高手速成记(之三):SpringBoot整合mybatis/mybatis-plus实现数据持久化
链接挂出来,方便咱们中途对比着看
老规矩,先放出本节的项目结构:
我们参考上一节中讲到的创建SpringCloudAlibaba工程模板的步骤,在工程下在创建三个子模块,创建过程中勾选相同的依赖项
这三个子模块也是三个独立的可执行的工程,他们的用途分别为:
dubbo-nacos-provider:服务(Service)提供方
dubbo-nacos-consumer:消费方,服务的调用者
dubbo-nacos-api:接口及模型类定义,同时作为前边二者的依赖方
接下来,我们共同见证神奇的一幕:
大家都知道,我们在第三节中实现的工程是一个结构相对完备(包含Service、Controller,View由Postman替代)且可以直接执行的独立进程
本节我们依靠上一节讲到的微服务技术,以几乎不改变原有代码为前提,将其一分为三:
provider和consumer分别独立执行
consumer借助微服务技术完成对provider的调用
api模块是二者的依赖项,并非可执行的进程
1. Service接口、Model声明迁移到dubbo-nacos-api
package com.example.dubbonacosapi.model; import java.io.Serializable; public class Person implements Serializable { private Integer id = 0; private String name = ""; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }