从0到1完成搭建(SpringCloud Alibaba)-01 项目相关介绍
前言
这篇笔记开始从0开始企业级微服务框架 ,希望能给大家带来帮助,如果本文有您觉得不合适或者不成熟的地方,希望大家多多指正
项目介绍
作为一名工作两年的后端开发者,一直想写一套自己亲手打造的微服务后台管理框架,经过很多尝试与经验积累,决定着手开发该项目,并且给项目命名为Arce-pro。
我觉得这个项目可以作为一个后台管理系统的底座,提供相应的基础服务给业务系统使用,如果有其他应用服务即可集成进来,前端计划采用qiankun2做前端的微服务 系列文章目前阶段只写了后端的
项目文档主页:doc-1257945592.cos-website.ap-beijing.myqcloud.com/#/
项目主页:www.xinyaomz.cn/
应用基础设施
- 项目管理:阿里云云效
- 代码管理:云效Codeup (代替Gitee或者Github)
- 流水线部署:云效Flow (代替jenkins)
- Maven私服:云效Packages (代替nexus)
- 注册中心:Nacos 2.1.0
- 数据库:Mysql 5.7 本文使用腾讯云RDS 代替自建数据库
- 文件存储:阿里云OSS 腾讯云OBS 本地存储
- 开发环境:Jdk1.8 Maven3.6.3 Idea2022.3
- 项目部署环境:Centos7.9
- 服务器管理:宝塔面板
- 服务调用方式:FeignCilent
应用支撑服务
- 消息服务(message):实现阿里云短信 ,163邮件 等消息通知服务
- 文件服务(storage):实现文件对象存储服务
- 支付服务(pay):实现支付宝,微信支付功能
- 核心服务(core):实现应用支撑核心服务(用户,角色,菜单,权限...................)
- 统一认证授权服务(uaa):实现用户token发放,续签等功能
技术选型
| 选项 | 组件 |
|---|---|
| 服务调用方式 | OpenFeign |
| 服务注册 | Nacos Discovery |
| API网关 | Spring Cloud Gateway |
| 配置中心 | Nacos Config |
| 熔断限流 | Sentinel |
| 监控 | Spring Cloud Admin |
| 存储 | Alibaba Cloud OSS |
| 短信服务 | Alibaba Cloud SMS |
组件版本
- SpringBoot 2.7.1
- SpringCloud 2021.0.3
- SpringCloud-Alibaba 2021.0.1.0
- Nacos 2.1.0
- mysql-connector 5.1.47
- hutool 5.7.22
- druid 1.2.15
- knife4j 3.0.2
开发规范
遵循阿里巴巴开发手册
项目结构
基础服务-封装相应的starter
arce-pro 独立的Maven项目
arce-pro-database-starter
arce-pro-mybatis-starter
arce-pro-auth-starter
arce-pro-cloud-starter
arce-pro-cilent
arce-storage-cilent 存储服务FeignCilent
arce-core-cilent 核心服务FeignCilent
arce-message-cilent 消息服务FeignCilent
arce-pro-core 核心服务 独立的SpringBoot项目
arce-pro-storage 存储服务 独立的SpringBoot项目
arce-pro-message 消息服务 独立的SpringBoot项目