基于微服务架构的前后端分离的留华信息共享平台
- 微服务架构开发,前后端分离
- 采用 Nacos 作为服务注册中心,支持分布式集群架构,方便微服务配置管理
- 采用 Getaway 搭建网关服务,进行负载转发的同时对用户身份进行识别,并支持配置接口未认证拦截功能
- 采用 JWT 的方式进行用户鉴权,配合网关服务保证其他所有微服务都能准确识别用户身份
- 采用 Minio 搭建对象存储服务
- 采用 RabbitMQ 搭建消息队列服务
- 采用 Elasticsearch 搭建搜索引擎服务
- 采用 Redis 搭建缓存服务
- 使用Netty + Websocket实现即时通讯
├─config:全局配置文件目录
├─doc:项目文档目录
├─db:数据库文件目录
├─common:公用模块
│ ├─common-amqp:公用AMQP模块
│ ├─common-core:核心模块
│ ├─common-redis:公用Redis模块
│ ├─common-swagger:公用Swagger模块
│ └─common-mybatis:公用Mybatis模块
├─gateway-service:网关服务
├─user-service:用户服务
├─content-service:内容服务
├─message-service: 消息服务
├─comment-service:评论服务
└─file-service:文件服务
技术 | 说明 | 官网 |
---|---|---|
SpringBoot | MVC框架 | https://spring.io/projects/spring-boot |
SpringCloud | 微服务框架 | https://spring.io/projects/spring-cloud/ |
Gateway | 网关服务框架 | https://spring.io/projects/spring-cloud-gateway |
Fegin | RPC框架 | https://spring.io/projects/spring-cloud-openfeign |
Nacos | 注册、配置中心 | https://nacos.io/zh-cn/ |
MyBatis-Plus | 数据库框架 | https://mp.baomidou.com/ |
MySQL | 数据库 | https://www.mysql.com/ |
Redis | 分布式缓存 | https://redis.io/ |
RabbitMQ | 消息队列 | https://www.rabbitmq.com/ |
Elasticsearch | 搜索引擎 | https://github.com/elastic/elasticsearch |
Docker | 容器化部署 | https://www.docker.com/ |
Jenkins | 自动化部署服务 | https://www.jenkins.io/ |
Druid | 数据库连接池 | https://github.com/alibaba/druid |
SLF4J | 日志框架 | http://www.slf4j.org/ |
Lombok | 简化对象封装工具 | https://github.com/rzwitserloot/lombok |
Nginx | web服务器 | http://nginx.org/ |
Hutool | Java工具包类库 | https://hutool.cn/docs/#/ |
Minio | 本地对象存储服务 | https://min.io/ |
Docker Compose | Docker容器编排 | https://docs.docker.com/compose/ |
请查看项目的doc文件夹下的README
前端使用的是React+Nextjs框架,使用Ant Design作为UI框架,使用TypeScript进行开发, 项目地址:BridgeToChina-Frontend
微信: gi3636
Discord社区:留华桥