Java学者 发表于 2020-11-11 23:01

【Java】Novel-Cloud,微服务技术栈学习型项目

本帖最后由 Java学者 于 2020-11-12 19:10 编辑

终于等到了双11注册吾爱破解论坛账号的机会,第一次发帖,给大家分享一下我的开源项目吧。


# novel-cloud

#### 背景

小说网站业务难度适中,没有商城系统那种复杂的业务。但是作为互联网项目,一样需要面对大规模用户和海量数据的处理,所以高并发、高可用、高性能、高容错、可扩展性、可维护性也是小说网站设计需要考虑的问题,商城系统中所用到的技术同样适用于小说网站。综上所述,使用微服务架构来构建一个小说门户平台是非常有必要的,利用微服务构建的小说门户平台来学习现下流行技术相较于业务比较复杂的商场系统来说也是比较容易的,非常适合于没有实际微服务项目经验的同学用来学习和入门微服务技术栈。

#### 介绍

Novel-Cloud是基于[小说精品屋-plus](https://www.oschina.net/p/novel-plus)构建的Spring Cloud 微服务小说门户学习平台,致力于原创文学阅读与写作,提供了爬虫工具用于开发过程中测试数据的采集(爬虫项目和小说精品屋-plus通用)。采用了Spring Boot 2.2.5.RELEASE 、Spring Cloud Hoxton.SR4、 MyBatis3DynamicSql、Sharding-Jdbc、Redis、RabbitMq、Elasticsearch、Docker等流行技术,集成了Nacos注册中心/配置中心、Spring Cloud Gateway网关、Spring Boot Admin监控中心、ELK分布式日志分析等基础服务。前端计划使用Vue开发,后台接口一期开发已完成(充值/作家专区除外的所有接口)。

#### 软件架构

!(https://s3.ax1x.com/2020/11/11/Bvt3kD.png)


#### 项目结构

```
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               | 注册中心和配置中心
| Sentine            | 限流/熔断/降级
| 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               | 前端开发框架

#### 数据模型

!(https://s3.ax1x.com/2020/11/11/BvtUXt.png)

#### 截图

1. 注册中心截图

!(https://s3.ax1x.com/2020/11/11/BvtYpd.png)

2. 配置中心截图

   !(https://s3.ax1x.com/2020/11/11/Bvtrtg.png)

3. 监控中心截图

   !(https://s3.ax1x.com/2020/11/11/Bvt2Xq.png)

   !(https://s3.ax1x.com/2020/11/11/BvtjHK.png)

   !(https://s3.ax1x.com/2020/11/11/BvN99H.png)

   

   4. 接口文档

      !(https://s3.ax1x.com/2020/11/11/BvNkut.png)
      
      !(https://s3.ax1x.com/2020/11/11/BvNK3j.png)
      
      !(https://s3.ax1x.com/2020/11/11/BvNUC4.md.png)
   
   5. 分布式日志收集
   
      !(https://s3.ax1x.com/2020/11/11/BvNd29.md.png)
   
   6. 门户网站
   
   !(https://s3.ax1x.com/2020/11/11/BvNBK1.md.png)

#### 代码仓库

    GitHub仓库地址:https://github.com/201206030/novel-cloud



Java学者 发表于 2020-11-12 17:25

本帖最后由 Java学者 于 2020-11-13 09:30 编辑

兄弟们,有什么看法和建议都可以提出来一起讨论哟:handshake

Eaglecad 发表于 2020-11-11 23:50

走过路过,收藏一个

Java学者 发表于 2020-11-12 07:06

Eaglecad 发表于 2020-11-11 23:50
走过路过,收藏一个

拿走不谢{:1_919:}

benbenxiong 发表于 2020-11-12 10:44

VUE前端开源了吗

benbenxiong 发表于 2020-11-12 11:24

小说阅读的时候按键盘→会报错

Java学者 发表于 2020-11-12 11:33

benbenxiong 发表于 2020-11-12 11:24
小说阅读的时候按键盘→会报错

看到了,这是个bug,马上修复

Java学者 发表于 2020-11-12 11:34

benbenxiong 发表于 2020-11-12 10:44
VUE前端开源了吗

微服务版本,vue前端还在做适配,可能过一段时间再上

Java学者 发表于 2020-11-12 12:06

benbenxiong 发表于 2020-11-12 11:24
小说阅读的时候按键盘→会报错

v2.7.2已修复该bug
页: [1]
查看完整版本: 【Java】Novel-Cloud,微服务技术栈学习型项目