以微服务为基础搭建一套脚手架开始前的介绍

书接上回<java一个脚手架搭建-CSDN博客>

这个脚⼿架项⽬开发前,你要大概的了解一下这些东西:

Java基础、IDEA使⽤、Maven基础

• Linux基础

• Springboot/Spring Cloud 基础 

• MySQL基础

• Redis基础

• RabbitMQ基础

• Docker基础

• Git基础

• JavaScript、CSS、HTML

• VUE基础

我们可以拿到网上找到的微服务架构图理解

 对于本项目,我们大概可以想到微服务的一些流程

 微服务介绍

⽤⼾通过客⼾端(浏览器)操作,客⼾端(浏览器)将请求发送⾄代理服务器(Nginx)。

• 若⽤⼾请求静态资源,Nginx 可直接处理并将资源返回给客⼾端(浏览器)展⽰。

• 若请求动态资源,Nginx 将请求转发⾄后端服务器。

• 后端服务器由 API ⽹关(Spring Cloud Gateway)先接收请求,再根据业务转发⾄具体微服务处 理,可能是开发⼈员根据实际项⽬新增的业务服务,也可能是脚⼿架项⽬本⾝提供的微服务。

◦ Nacos 作为服务注册与发现中⼼,可准确转发请求⾄对应微服务。

◦ Nacos 作为配置中⼼,各服务启动时相关配置从Nacos拉取。

◦ 业务处理时,如果需要使⽤公共sdk提供的相关功能可以直接使⽤。

◦ 业务处理时,后端服务可能调⽤其他微服务,如 Portal 调⽤File服务,借助 openfeign实现。

◦ 业务处理时,后端服务可能调⽤第三⽅服务,脚⼿架项⽬提供第三⽅服务集成⽅案。(如:微信登录、阿⾥云短信、腾讯地图等)

◦ 业务处理时,后端服务可能借助存储服务完成相关业务,脚⼿架项⽬提供相关存储机制集成⽅案。(如:Mysql、Redis、RabbitMQ、OSS)

具体一点,就体现在这张图中

 这就是我们这个微服务脚手架的基础

组件介绍

组件认识
序号分类技术组件介绍
1后端SpringBoot快速构建 Spring项⽬的框架,简化了 Spring应⽤的配置和开发过程。
2后端SpringCloud基于Spring Boot的微服务架构⼯具集,提供微服务架构系统解决⽅案。
3后端Redis⾼性能内存键值数据库,常应⽤于缓存实现⽅案。
4后端RabbitMQ开源的消息队列,常⽤于异步解耦、流量削峰、异步通信等。
5后端Nacos服务发现与注册中⼼、配置中⼼。
6后端Mysql关系型数据库,⽀持结构化数据存储和SQL查询。
7后端Mybatis持久层开发框架。
8后端Redisson基于Redis的Java客⼾端,提供分布式锁、集合等⾼级功能。
9后端Caffeine⾼性能的 Java 本地缓存库。
10后端JwtJSON Web Token ⼀个轻量级的认证规范。常⽤于⽤⼾⾝份认证。
11后端Nginx⾼性能的 HTTP 服务器和反向代理服务器,常⽤于负载均衡、静态资源服务器、反向代理等场景。
12运维Docker容器化平台。
13运维Docker Compose定义和运⾏多容器,实现⼀键启动、管理和编排多容器依赖关系。
14第三方阿⾥云OSS阿⾥云提供的对象存储服务,⽤于存储和管理⼤量的⾮结构化数据,如图⽚、视频、⽂件等。
15第三方PostManAPI 设计、开发、测试⼀体化协作平台。
16第三方微信登录
17第三方腾讯地图
18第三方阿⾥云短信阿⾥云提供的短信服务,允许开发者通过 API 向⼿机⽤⼾发送短信。
19第三方阿⾥云容器镜像仓库阿⾥云提供的容器镜像存储服务。
20第三方Gitee
21前端Vue3
22前端Vue-Router
23前端PiniaVue的状态管理库。
24前端Element Plus基于Promise的HTTP客⼾端,⽤于浏览器和Node.js的请求发送。
25前端Axios
26前端Vite

前面是我们的一些想法和准备做好了,我们大致地,会将代码的文件结构分成三个层次。

微服务结构层次:

1.⼯程分层:我们将整个⼯程划分为三层。

a.第⼀层:项⽬⽗⼯程,作为整个项⽬的根⽬录(frameworkjava)。

b.第⼆层:公共模块(bite-common)、各个微服务(bite-gateway、bite-file、bite-admin、

bite-portal、bite-mstemplate)。

c.第三层

i.公共模块下第三层:基础通⽤包(bite-common-core)、通⽤消息包(bite-common-message)、公⽤协议(bite-common-domain)、通⽤安全包(bite-common-security)、各中间件通⽤包(bite-common-redis)。

ii.各个微服务下第三层:微服务api层(如:bite-file-api)、微服务实现层(如:bite-file-

service)。

2.公⽤协议:

软件开发时通信或者数据交换时的遵循的⼀套规则或约定。 ⽐如:统⼀响应数据结构、统⼀状态码这些是不都是前后端在进⾏通信时所需要遵循的规则。

3.服务划分对外API和服务实现:

a.服务api:提供外部调⽤api(通过openFeign实现),和外部调⽤共享的Bean或者常量等信息的

引⽤。

b.服务实现:具体业务实现。

4.包组织:

a.微服务中,业务模块按功能分包。

b.模块内分controller、domain、mapper、service包。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92076.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92076.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel接入deepseek

先进入deepseek官网&#xff1a;DeepSeek | 深度求索 点击API开放平台&#xff1a; 确保余额里有钱: 创建APIkey: 复制到.txt文件中储存好 插入VBA代码&#xff1a; Function OptimizeEbayTitle(originalTitle As String) As StringDim Prompt As StringPrompt "作为…

【计组】概述

目录 计算机层次结构 计算机硬件 所有用户&#xff08;程序员&#xff09;可见 所有用户&#xff08;程序员&#xff09;透明 汇编程序员可见 计算机软件 从源程序到可执行文件 计算机性能指标 字长 运算速度 单位换算 存储 速率 时间 计算机层次结构 计算机硬件…

Web15题(7.28~8.3)

&#xff08;1&#xff09;SQL注入 [NSSRound#1 Basic]sql_by_sql 登录界面 尝试二次注入覆盖 admin 用户&#xff0c;但是发现注释符 # 被过滤了&#xff0c;--可以 但是无效了 奥原来是密码输错了 然后进行修改密码&#xff0c;修改以后就可以登录admin账户 查询按钮也不…

《Python 实用项目与工具制作指南》· 1.2 选择与配置Python代码编辑器

1.2 选择与配置 Python 代码编辑器 安装好 Python 环境后&#xff0c;我们还需要一款合适的代码编辑器来编写、运行和调试代码。就像作家需要趁手的钢笔&#xff0c;程序员也需要好用的编辑器 —— 它能帮你自动补全代码、高亮语法错误&#xff0c;让开发 “题目数据生成器”“…

Kali基础知识点【2】

Nmap信息收集nmap&#xff1a;网络扫描器&#xff0c;收集网络信息 openVAS:系统漏洞扫描器Nmap基础命令 nmap 目标主机&#xff1a;收集开放的端口 nmap -O 目标主机&#xff1a;收集目标主机的操作系统 nmap -sP 网段/子网掩码&#xff1a;扫描目标网段上开启的主机 nmap -sV…

Python自动化测试框架:Unittest 断言

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快断言是编程中常用的一种验证方法&#xff0c;也是测试代码中最重要的部分&#xff0c;用于验证某个条件是否为真&#xff0c;验证测试结果与预期结果是否一致。unit…

spring-ai-alibaba 学习(十八)——graph进阶

内容概述 前一篇&#xff08;spring-ai-alibaba 1.0.0.2 学习&#xff08;十七&#xff09;——初识graph-CSDN博客&#xff09;初步介绍了graph&#xff1a; 概念&#xff1a;图、边、节点、状态等&#xff0c;及其核心类和衍生类 使用流程&#xff1a; 1&#xff09;定义…

音视频学习(四十七):模数转换

模数转换&#xff08;Analog-to-Digital Conversion&#xff0c;简称ADC&#xff09;是将连续的模拟信号转换为离散的数字信号的过程&#xff0c;是现代电子系统中的核心技术之一。模数转换广泛应用于通信、信号处理、传感器数据采集、音频处理、图像处理等领域。 基本原理 模数…

8.高斯混合模型

高斯混合模型&#xff0c;简称GMM&#xff0c;对数据可以进行聚类或拟合&#xff0c;多用于传统语音识别。他会将每个数据看做多个高斯分布混合生成的。对于无标签的数据进行聚类&#xff0c;一般采用高斯混合模型处理。算法过程 1.首先进行初始猜测&#xff0c;假设有n个簇&am…

Calcite自定义扩展SQL案例详细流程篇

文章目录前言本章节源码一、基于 Calcite 实现一个自定义 SQL 解析器1.1、认识Calcite解析器二、实战案例2.1、快速构建一个可扩展sql语法的模板工程&#xff08;当前暂无自定义扩展sql示例&#xff09;步骤1&#xff1a;拉取calcite源码&#xff0c;复制codegen代码步骤2&…

【生活篇】Ubuntu22.04安装网易云客户端

前文啰嗦&#xff0c;直接跳转 命令行汇总 网易云linux版早已停止维护&#xff0c;自己一直在使用web版本&#xff0c;今天想下载个音乐&#xff0c;结果需要客户端。。。 安装命令很简单&#xff1a; wget https://d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64…

FT8441S/FT8441A 5V非隔离方案电路原理图(型号解析及管脚定义)

在当今电子设备日益普及的背景下&#xff0c;高效、稳定且低成本的电源解决方案成为了众多工程师的追求目标。Fremont Micro Devices 推出的 FT8441S 和 FT8441A 正是这样两款满足需求的芯片&#xff0c;它们凭借高精度恒压输出、快速启动以及完善的保护功能&#xff0c;成为了…

Python 面向对象编程核心知识点深度解析

面向对象编程&#xff08;OOP&#xff09;是 Python 中最重要的编程范式之一&#xff0c;它将数据和操作数据的方法封装在一起&#xff0c;提高了代码的复用性和可维护性。本文将结合实际代码示例&#xff0c;详细讲解 Python 面向对象编程的核心概念和常用技巧。一、类与对象的…

Java学习第一百部分——Kafka

目录 一、前言提要 二、核心价值 三、核心架构 四、基本用途 五、优势总结 六、相关技术 七、详细用途 八、高级用法 九、最佳实践 十、总结定位 一、前言提要 Apache Kafka 是一个强大的开源分布式流处理平台&#xff0c;专为处理高吞吐量、低延迟的实时数据流而设计…

[spring-cloud: 负载均衡]-源码分析

获取服务列表 ServiceInstanceListSupplier ServiceInstanceListSupplier 接口是一个提供 ServiceInstance 列表的供应者&#xff0c;返回一个响应式流 Flux<List<ServiceInstance>>&#xff0c;用于服务发现。 public interface ServiceInstanceListSupplier e…

Oracle 在线重定义

Oracle 在线重定义&#xff08;Online Redefinition&#xff09; 是一种功能&#xff0c;通过DBMS_REDEFINITION 包提供&#xff0c;允许DBA在不需要停止或显著影响数据库正常操作的情况下&#xff0c;对数据库表进行结构化修改。可以实现的功能将表移动到其它表空间增加、修改…

Web 开发 12

1 网址里的 “搜索请求” 结构 这张图是在教你怎么看懂 网址里的 “搜索请求” 结构&#xff0c;特别基础但超重要&#xff0c;对你学前端帮别人做搜索功能超有用&#xff0c;用大白话拆成 3 步讲&#xff1a; 1. 先看「协议&#xff08;Protocol&#xff09;」 HTTPS 就是浏…

网络安全 | 如何构建一个有效的企业安全响应团队

网络安全 | 如何构建一个有效的企业安全响应团队 一、前言 二、团队组建的基础要素 2.1 人员选拔 2.2 角色定位 三、团队应具备的核心能力 3.1 技术专长 3.2 应急处置能力 3.3 沟通协作能力 四、团队的运作机制 4.1 威胁监测与预警流程 4.2 事件响应流程 4.3 事后复盘与改进机制…

HTTP、WebSocket、TCP、Kafka等通讯渠道对比详解

在当今互联的数字世界中&#xff0c;通信渠道是系统、应用程序和设备之间数据交换的支柱。从传统的HTTP和TCP协议到专为特定场景设计的Kafka和MQTT等平台&#xff0c;这些通信方式满足了从实时消息传递到大规模数据流处理的多样化需求。本文将深入探讨主要的通信协议和平台。一…

臭氧、颗粒物和雾霾天气过程的大气污染物计算 CAMx模型

随着我国经济快速发展&#xff0c;我国面临着日益严重的大气污染问题。大气污染是工农业生产、生活、交通、城市化等方面人为活动的综合结果&#xff0c;同时气象因素是控制大气污染的关键自然因素。大气污染问题既是局部、当地的&#xff0c;也是区域的&#xff0c;甚至是全球…