Novel-Cloud 1.2.0 发布,微服务技术栈学习型项目
Novel-Cloud 1.2.0版本发布了,主要改进包括:
更新
- 集成Logstash,采集日志到ElasticSearch分析。
- 引入Sharding-Jdbc框架,小说内容表拆分,解决单机存储容量瓶颈问题,实现分布式存储、无限扩容方案。
背景
小说网站业务难度适中,没有商城系统那种复杂的业务。但是作为互联网项目,一样需要面对大规模用户和海量数据的处理,所以高并发、高可用、高性能、高容错、可扩展性、可维护性也是小说网站设计需要考虑的问题,商城系统中所用到的技术同样适用于小说网站。综上所述,使用微服务架构来构建一个小说门户平台是非常有必要的,利用微服务构建的小说门户平台来学习现下流行技术相较于业务比较复杂的商场系统来说也是比较容易的,非常适合于没有实际微服务项目经验的同学用来学习和入门微服务技术栈。
介绍
Novel-Cloud是基于小说精品屋-plus构建的Spring Cloud 微服务小说门户学习平台,致力于原创文学阅读与写作,提供了爬虫工具用于开发过程中测试数据的采集。采用了时下最新的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日志采集等基础服务。
演示地址
点击前往(前台门户)
软件架构
项目结构
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 | 前端开发框架 |
数据模型
截图
- 注册中心截图
2. 配置中心截图
3. 监控中心截图
4. 分布式日志分析
5. 接口文档
6. 门户网站
代码仓库
Gitee仓库地址: https://gitee.com/xiongxyang/novel-cloud
GitHub仓库地址: https://github.com/201206030/novel-cloud

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
React Suite 4.7.2 版本更新,React UI 库
React Suite 是一套 React 组件库,为后台产品而生,支持 Typescript,支持 RTL,支持服务端渲染。 文档:https://rsuitejs.com 设计:https://rsuitejs.com/design/default/ V4.7.2版本发布,更新内容如下: Bugfix修复 Steps 组件描述过长后导致布局异常。 (#1100) Bugfix修复 InputNumber 键盘输入未触发 onChange 事件。 (#1096) Bugfix修复 Typescript 中存在的类型定义错误。 (#1095,#1103) Bugfix修复 Dropdown 内 caret 图标的位置。 (#1094) Bugfix修复 PickerToggle 内冗余的涟漪元素。 (#1092) Bugfix修复 Sidenav 折叠以后存在的显示问题。 (#1090) Bugfix: 修复 ButtonGroup 内 Button 的 componentClass 属性无效的问题。 (#1087) Example: 新增 ReasonML 的示例项目 (#1101)...
- 下一篇
好程序员大数据培训分享Hive的静态分区与动态分区
好程序员大数据培训分享Hive的静态分区与动态分区:分区是hive存放数据的一种方式。将列值作为目录来存放数据,就是一个分区。这样查询时使用分区列进行过滤,只需根据列值直接扫描对应目录下的数据,不扫描其他不关心的分区,快速定位,提高查询效率。分动态和静态分区两种:1. 静态分区:若分区的值是确定的,那么称为静态分区。新增分区或者是加载分区数据时,已经指定分区名。create table if not exists day_part1(uid int,uname string)partitioned by(year int,month int)row format delimited fields terminated by 't';##加载数据指定分区load data local inpath '/root/Desktop/student.txt' into table day_part1partition(year=2017,month=04);##新增分区指定分区名alter table day_part1 add partition(year=2017,month=1)part...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Linux系统CentOS6、CentOS7手动修改IP地址
- Red5直播服务器,属于Java语言的直播服务器
- Docker安装Oracle12C,快速搭建Oracle学习环境