分布式系统架构怎么搭建?

分布式系统架构

互联网企业的业务飞速发展,促使系统架构不断变化。总体来说,系统架构大致经历了单体应用架构 ---垂直应用架构 ---分布式架构 ---SOA架构 ---微服务架构 的演变,很多互联网企业的系统架构已经向服务化网格(Service Mesh)演变。

单体应用架构:所有的模块写到一个Web项目中,再统一部署到一个Web服务器中。

分布式架构:将重复的代码抽象出来,形成统一的服务,供其他系统或者业务模块调用。

tex 复制代码
xxx-common: pojo,utils,config
xxx-system: pojo,dao,service
xxx-admin : controller

system 调用公共模块 common,控制模块 admin 调用业务模块 system。

简单举例。

创建项目

父级配置

xml 复制代码
<!--修改父级打包方式-->
<packaging>pom</packaging>
<!--子级都有谁-->
<modules>
    <module>boot-admin</module>
    <module>boot-common</module>
    <module>boot-system</module>
</modules>

子级配置

xml 复制代码
<!--修改子级打包方式-->
<packaging>jar</packaging>
<!--引入父级-->
<parent>
    <groupId>com.hz</groupId>
    <artifactId>boot-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

三者的依赖关系

xml 复制代码
<!-- boot-system -->
<dependencies>
    <dependency>
        <groupId>com.hz</groupId>
        <artifactId>boot-common</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>
<!-- boot-admin -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.hz</groupId>
        <artifactId>boot-system</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>
<!-- boot-parent -->
<!-- 在 boot-parent 中引入需要的依赖 这样所有的子级都可以使用 -->
<dependencies>
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

boot-common

模块结构:公共实体类、工具类等

boot-system

模块结构:数据持久化、服务接口及其实现类等

boot-admin

模块结构:启动类、控制器、yml配置文件等

打开 Maven,点击父级 boot-parent 打包

去到该目录下

复制代码
D:\idea_workspaces\boot-parent\boot-admin\target

打开终端,输入命令

复制代码
>java -jar boot-admin-0.0.1-SNAPSHOT-smbms.jar

运行项目

成功运行后调用接口测试,成功即可。

相关推荐
月明长歌23 分钟前
【码道初阶】【Leetcode606】二叉树转字符串:前序遍历 + 括号精简规则,一次递归搞定
java·数据结构·算法·leetcode·二叉树
原来是好奇心24 分钟前
深入Spring Boot源码(八):高级特性与扩展点深度解析
java·源码·springboot
oioihoii28 分钟前
C++共享内存小白入门指南
java·c++·算法
@淡 定33 分钟前
线程安全的日期格式化:避免 SimpleDateFormat 并发问题
java
qq_124987075335 分钟前
基于springboot框架的小型饮料销售管理系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·spring·毕业设计
CodeAmaz1 小时前
JVM一次完整GC流程详解
java·jvm·gc流程
降临-max1 小时前
JavaWeb企业级开发---Ajax、
java·ajax·maven
NMBG221 小时前
外卖综合项目
java·前端·spring boot
小徐Chao努力1 小时前
Spring AI Alibaba A2A 使用指南
java·人工智能·spring boot·spring·spring cloud·agent·a2a
rannn_1111 小时前
【Git教程】概述、常用命令、Git-IDEA集成
java·git·后端·intellij-idea