Novel-Cloud 1.1.0版本发布了,主要改进包括:
更新
- 集成阿里云OSS,增加文件微服务。
- 引入RabbitMq实现应用解偶和流量削峰。
- 引入Redisson框架实现分布式锁 。
- 更新Swagger接口文档,增加部分接口的Authorization认证。
-
集成docker-maven-plugin插件,增加docker方式部署。
背景
小说网站业务难度适中,没有商城系统那种复杂的业务。但是作为互联网项目,一样需要面对大规模用户和海量数据的处理,所以高并发、高可用、高性能、高容错、可扩展性、可维护性也是小说网站设计需要考虑的问题,商城系统中所用到的技术同样适用于小说网站。综上所述,使用微服务架构来构建一个小说门户平台是非常有必要的,利用微服务构建的小说门户平台来学习现下流行技术相较于业务比较复杂的商场系统来说也是比较容易的,非常适合于没有实际微服务项目经验的同学用来学习和入门微服务技术栈。
介绍
Novel-Cloud是基于小说精品屋-plus构建的Spring Cloud 微服务小说门户学习平台,致力于原创文学阅读与写作,提供了爬虫工具用于开发过程中测试数据的采集。采用了Spring Boot 2.2.5.RELEASE 、Spring Cloud Hoxton.SR4、 MyBatis3DynamicSql、Redis、Mq、Elasticsearch、Docker等流行技术,集成了Nacos注册中心/配置中心、Spring Cloud Gateway网关、Spring Boot Admin监控中心等基础服务。前端计划使用Vue开发,后台接口一期开发已完成(充值/作家专区除外的所有接口)。
演示地址
点击前往(前台门户)
软件架构
![QQ20200520-215756]()
项目结构
novel-cloud
├── novel-common -- 通用模块,供其他业务微服务模块依赖
├── novel-gen -- 持久层代码生成器,集成Swagger
├── novel-gateway -- 基于Spring Cloud Gateway构建的网关服务
├── novel-monitor -- 基于Spring Boot Admin构建的监控中心
├── novel-search -- 基于Elastic Search构建的搜索微服务
├── novel-file -- 基于阿里云OSS构建的文件微服务
├── novel-home -- 门户首页微服务
├── novel-news -- 新闻中心微服务
├── novel-user -- 用户中心微服务
├── novel-author -- 作家中心微服务
├── novel-book -- 小说微服务
└── novel-pay -- 支付微服务
技术选型
| 技术 |
说明 |
| SpringBoot |
Spring应用快速开发脚手架 |
| SpringCloud |
微服务架构解决方案 |
| Nacos |
注册中心和配置中心 |
| SpringCloud Gateway |
微服务网关 |
| SpringBoot Admin |
微服务监控 |
| MyBatis |
持久层ORM框架 |
| MyBatis Dynamic SQL |
Mybatis动态sql |
| PageHelper |
MyBatis分页插件 |
| MyBatisGenerator |
持久层代码生成插件 |
| Seata |
分布式事务中间件(待应用) |
| Sharding-Jdbc |
代码层分库分表中间件 |
| JJWT |
JWT登录支持 |
| Redis |
分布式缓存 |
| ElasticSearch |
搜索引擎 |
| RabbitMq |
消息队列 |
| OSS |
阿里云对象存储服务 |
| Mysql |
数据库服务 |
| Redisson |
实现分布式锁 |
| Lombok |
简化对象封装工具 |
| Swagger |
API文档生成工具 |
| Docker |
应用容器引擎 |
| Logstash |
分布式日志采集 |
| Vue |
前端开发框架 |
数据模型
![QQ20200520-215756]()
截图
1. 注册中心截图
![QQ20200520-215756]()
2. 配置中心截图
![QQ20200520-215756]()
3. 监控中心截图
![QQ20200520-215756]()
![QQ20200520-215756]()
![QQ20200520-215756]()
4. 接口文档
![QQ20200520-215756]()
![QQ20200520-215756]()
![QQ20200520-215756]()
5. 分布式日志收集
![QQ20200520-215756]()
6. 门户网站
![]()
代码仓库
Gitee仓库地址: https://gitee.com/xiongxyang/novel-cloud
GitHub仓库地址: https://github.com/201206030/novel-cloud