All Projects → 201206030 → Novel Cloud

201206030 / Novel Cloud

Licence: apache-2.0
小说精品屋-微服务版是基于小说精品屋-plus构建的Spring Cloud 微服务技术栈学习型小说项目,致力于原创文学阅读与写作,提供了爬虫工具用于开发过程中测试数据的采集。采用了时下流行的Spring Boot 2 、Spring Cloud Hoxton、 MyBatis3DynamicSql、Sharding-Jdbc、Redis、RabbitMq、Elasticsearch、Docker等流行技术,集成了Nacos注册中心/配置中心、Spring Cloud Gateway网关、Spring Boot Admin监控中心、ELK分布式日志分析等基础服务。前端计划使用Vue开发。

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Novel Cloud

Springy Store Microservices
Springy Store is a conceptual simple μServices-based project using the latest cutting-edge technologies, to demonstrate how the Store services are created to be a cloud-native and 12-factor app agnostic. Those μServices are developed based on Spring Boot & Cloud framework that implements cloud-native intuitive, design patterns, and best practices.
Stars: ✭ 318 (-3.34%)
Mutual labels:  spring-boot, spring-cloud
Java Spring Cloud
Distributed tracing for Spring Boot, Cloud and other Spring projects
Stars: ✭ 326 (-0.91%)
Mutual labels:  spring-boot, spring-cloud
Awesome Spring Cloud
Spring Cloud 优质资源一网打尽
Stars: ✭ 249 (-24.32%)
Mutual labels:  spring-boot, spring-cloud
Micro Company
Rest-full, Hipermedia-based distributed application. Spring boot & cloud. Angular. CQRS. Eventsourcing. Axonframework. Microservices. Docker. CloudFoundry
Stars: ✭ 307 (-6.69%)
Mutual labels:  spring-boot, spring-cloud
Spring Cloud Gateway Sample
Sample Spring Cloud Gateway Application
Stars: ✭ 268 (-18.54%)
Mutual labels:  spring-boot, spring-cloud
Microservices Platform
基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务多租户系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等。
Stars: ✭ 3,274 (+895.14%)
Mutual labels:  spring-boot, spring-cloud
Event Stream Processing Microservices
Using Spring Cloud Stream and Spring State Machine to create event-driven microservices
Stars: ✭ 255 (-22.49%)
Mutual labels:  spring-boot, spring-cloud
Stormpath Sdk Java
Official Java SDK for the Stormpath User Management REST API
Stars: ✭ 221 (-32.83%)
Mutual labels:  spring-boot, spring-cloud
Notes
算法刷题指南、Java多线程与高并发、Java集合源码、Spring boot、Spring Cloud等笔记,源码级学习笔记后续也会更新。
Stars: ✭ 256 (-22.19%)
Mutual labels:  spring-boot, spring-cloud
Hsweb Iot Cloud
本项目已迁移至 github.com/jetlinks
Stars: ✭ 258 (-21.58%)
Mutual labels:  spring-boot, spring-cloud
Loc Framework
本项目是完全基于Spring Boot2和Springcloud Finchley所进行了开发的,目的是简化和统一公司内部使用微服务框架的使用方法
Stars: ✭ 238 (-27.66%)
Mutual labels:  spring-boot, spring-cloud
Spring 5 Book
Spring 5 Samples(Spring 5 案例大全/《Spring 5 开发大全》示例源码) covers Spring 5, Spring MVC, Spring WebFlux, Spring Boot and Spring Cloud.
Stars: ✭ 283 (-13.98%)
Mutual labels:  spring-boot, spring-cloud
Spring Cloud Rest Tcc
以Spring Cloud Netflix作为服务治理基础, 展示基于tcc思想所实现的分布式事务解决方案
Stars: ✭ 2,562 (+678.72%)
Mutual labels:  spring-boot, spring-cloud
Spring Cloud Kubernetes
Kubernetes integration with Spring Cloud Discovery Client, Configuration, etc...
Stars: ✭ 2,894 (+779.64%)
Mutual labels:  spring-boot, spring-cloud
Moreco
moreco 是一个能够为小、中、大型项目提供最合适架构的一条龙生态系统。满足项目从小型到中型至大型的衍变过程。从编码到监控至运维都满足、且各种功能都插件化,支持插件间的切换。支持Spring Boot、Spring Cloud、Axon 无缝升级
Stars: ✭ 231 (-29.79%)
Mutual labels:  spring-boot, spring-cloud
Springcloudlearning
《史上最简单的Spring Cloud教程源码》
Stars: ✭ 16,218 (+4829.48%)
Mutual labels:  spring-boot, spring-cloud
Microservice Scaffold
基于Spring Cloud(Greenwich.SR2)搭建的微服务脚手架(适用于在线系统),已集成注册中心(Nacos Config)、配置中心(Nacos Discovery)、认证授权(Oauth 2 + JWT)、日志处理(ELK + Kafka)、限流熔断(AliBaba Sentinel)、应用指标监控(Prometheus + Grafana)、调用链监控(Pinpoint)、以及Spring Boot Admin。
Stars: ✭ 211 (-35.87%)
Mutual labels:  spring-boot, spring-cloud
Zheng Springboot Demo
SpringBoot敏捷微服务开发示例(服务注册中心、服务提供者、实现客户端负载均衡的消费者、声明式的Web Service客户端消费者、服务网关、分布式配置中心、使用分布式配置的客户端)
Stars: ✭ 219 (-33.43%)
Mutual labels:  spring-boot, spring-cloud
Spring Boot Demo
Spring Boot & Spring Cloud & Spring Security Demo Case(Spring学习示例实战项目)
Stars: ✭ 255 (-22.49%)
Mutual labels:  spring-boot, spring-cloud
Spring Cloud Gateway
A Gateway built on Spring Framework 5.x and Spring Boot 2.x providing routing and more.
Stars: ✭ 3,305 (+904.56%)
Mutual labels:  spring-boot, spring-cloud

index

novel-cloud

Github stars Github forks Gitee star Gitee fork

官网

https://xiongxyang.gitee.io

背景

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

介绍

Novel-Cloud是基于小说精品屋-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开发,后台接口一期开发已完成(充值/作家专区除外的所有接口)。

软件架构

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 注册中心和配置中心
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 前端开发框架

数据模型

QQ20200520-215756

截图

  1. 注册中心截图

QQ20200520-215756

  1. 配置中心截图

    QQ20200520-215756

  2. 监控中心截图

    QQ20200520-215756

    QQ20200520-215756

    QQ20200520-215756

    1. 接口文档

      QQ20200520-215756

      QQ20200520-215756

      QQ20200520-215756

    2. 分布式日志收集

      QQ20200520-215756

    3. 门户网站

    QQ20200520-215756

安装步骤

  1. 下载源码,如果是ZIP包,下载后需要解压。

    image-20200529173322783

  2. 开发环境配置,请确保开发机器上已安装如下软件环境。

    • [x] Java开发工具包jdk1.8+
    • [x] IDE(Eclipse或IntelliJ IDEA)
    • [x] 项目管理工具maven
    • [x] 微服务注册中心/配置中心nacos
    • [x] 分布式缓存服务Redis
    • [x] 搜索引擎服务ElasticSearch
    • [x] ElasticSearch可视化客户端Kibana
    • [x] 消息中间件RabbitMq
    • [x] 数据库服务Mysql
  3. 登陆nacos配置中心导入下载源码中的配置文件。

    image-20200529173322783

    image-20200529173322783

    image-20200529173322783

    image-20200529173322783

  4. 使用IDE导入下载的源码(这里以IntelliJ IDEA为例)。

    image-20200529173322783

  5. 修改通用配置中的配置中心地址和命名空间ID。

    image-20200529182810929

    image-20200529173322783

  6. 启动微服务网关。

    • 修改网关服务的配置中心地址和命名空间ID

      image-20200529173322783

    • 修改网关配置文件注册中心地址和命名空间ID

    image-20200529173322783

    image-20200529173322783

    • 启动网关服务novel-gateway

      image-20200529173322783

      image-20200529173322783

  7. 启动监控服务。

    • 修改监控服务的配置中心地址和命名空间IDimage-20200529173322783

    • 修改监控微服务的注册中心地址和命名空间ID以及登陆的用户名和密码image-20200529173322783

    • 启动监控服务novel-monitor,启动方法和网关服务相同

    • 访问监控服务,因为网关中配置了监控服务的路由,所以可直接或通过网关来访问监控服务:http://<网关ip>:<网关端口号>/monitor

      image-20200529173322783

  8. 启动业务微服务,这里以小说微服务为例。

    • 修改网关配置文件book-service.yml中的注册中心地址和命名空间ID,以及其他配置(数据库/redis/elasticsearch/mq等),方法同上

    • 启动novel-service服务,方法同上

    • 访问接口文档:http://<服务IP>:<服务端口号>/swagger-ui.html,

      例如:http://127.0.0.1:620/swagger-ui.html

  9. 通过网关统一接口访问路径。

    http://<网关IP>:<网关端口号>/api/<接口路径>

    以小说小说分类列表查询接口为例:http://127.0.0.1:527/api/book/listBookCategory

  10. 访问用户中心/作家中心等需要认证的接口。

    • 访问登陆接口获取JWTimage-20200529173322783 image-20200529173322783

    • 设置JWT认证image-20200529173322783

    • 访问需要认证的接口image-20200529173322783

      image-20200529173322783

代码仓库

Gitee仓库地址: https://gitee.com/xiongxyang/novel-cloud

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

QQ交流群

点击前往官网查看

微信公众号(发布最新更新资讯)

mini-code

捐赠支持

开源项目不易,若此项目能得到你的青睐,可以捐赠支持作者持续开发与维护。

mini-code

index

部分截图在github上可能无法正常显示,请下载到本地查看。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].