当前位置: 首页 > news >正文

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

书接上回<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.dtcms.com/a/308064.html

相关文章:

  • BGP高级特性之认证
  • python刷题关键记录【常用api使用方法总结,常用函数使用方法】
  • RHEL 8.10 离线安装 Ansible 完整教程
  • 网络基础——路由控制
  • iOS 类存储 与 C# 类存储 的差异
  • 正则化都是放在模型的哪个位置呢?
  • 系统讲解图片格式转换:为什么要转换、怎么转换
  • 数据治理:数字化时代的 “治” 与 “理” 之道 —— 破解企业数据资产困局
  • 【2025/07/31】GitHub 今日热门项目
  • 代码随想录day51图论2
  • Spring MVC体系结构和处理请求控制器
  • 图论:SPFA算法
  • 嵌入式操作系统快速入门(1):快速入门操作系统常见基础概念
  • CMake项目中如何按目录结构分离显示Header和Source文件
  • LPC2132GPIO
  • Ubuntu 内网多台服务器时间同步方案(适用于临时能上外网的环境)
  • 电商作图:解锁“素材裂变”和“产品测款”新姿势
  • Zombie Process
  • Apache Camel 简介
  • STM32 USB 设备中间件 tinyusb
  • 开疆智能Profient转Modbus网关连接MAG8000电池流量计配置案例
  • 快速入门开源项目若依
  • FISCO BCOS Gin调用WeBASE-Front接口发请求
  • 【Kiro Code】Chat 聊天功能
  • React的介绍和特点
  • Linux的访问权限(保姆级别)
  • 深入浅出HTML5 CSS类扩展:getElementsByClassName和classList属性
  • Vercel 全面介绍与网站部署指南
  • CSS和XPATH选择器对比
  • AI与AGI:从狭义智能到通用智能