All Projects → mxdldev → Spring Cloud Flycloud

mxdldev / Spring Cloud Flycloud

Licence: apache-2.0
🔥🔥🔥FlyClould 微服务实战项目框架,在该框架中,包括了用 Spring Cloud 构建微服务的一系列基本组件和框架,对于后台服务框架的搭建有很大的参考价值,大家可以参考甚至稍加修改可以直接应用于自己的实际的项目开发中,该项目没有采用Maven进行项目构建,Maven通过xml进行依赖管理,导致整个配置文件太过臃肿,另外灵活性也不是很强,所以我采用Gradle进行项目构建和依赖管理,在FlyTour项目中我们见证了Gradle的强大,通过简单的一些配置就可以轻松的实现组件化的功能。该项目共有11个Module工程。其中10个位微服务工程,这10个微服务工程构成了一个完整的微服务系统,微服务系统包含了8个基础服务,提供了一整套微服务治理功能,他们分别是配置中心module_c…

Programming Languages

java
68154 projects - #9 most used programming language
TSQL
950 projects

Projects that are alternatives of or similar to Spring Cloud Flycloud

Spring Boot Blog
Simple blog web app made using Spring Boot + Thymeleaf
Stars: ✭ 121 (-92.01%)
Mutual labels:  spring-data-jpa, spring-boot, spring, springboot, spring-mvc, spring-security
Spring5Certification
Spring Certification: This repository contains my examples and some best references to prepare the Spring 5 certification
Stars: ✭ 30 (-98.02%)
Mutual labels:  spring-security, springboot, springframework, spring-mvc, spring-data-jpa, springmvc
Springboard
Spring Boot based production grade starter kit.
Stars: ✭ 59 (-96.1%)
Mutual labels:  spring-data-jpa, spring-boot, spring, spring-mvc, springframework, spring-security
Spring
Personal notes of preparation to Spring 5 Professional Certification
Stars: ✭ 35 (-97.69%)
Mutual labels:  spring-cloud, spring-security, springframework, spring-mvc, spring-data-jpa, springmvc
Springboot Starterkit
Starter Kit for Spring Boot based (REST APIs and WebMVC) micro services.
Stars: ✭ 596 (-60.63%)
Mutual labels:  spring-data-jpa, spring-boot, spring, spring-mvc, springmvc, spring-security
Securing Rest Api Spring Security
Spring Boot 2.2.x + Spring 5.2.x Rest Api Security Example
Stars: ✭ 117 (-92.27%)
Mutual labels:  spring-boot, spring, springboot, spring-mvc, spring-security
Spring Boot Examples
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
Stars: ✭ 26,812 (+1670.94%)
Mutual labels:  spring-data-jpa, spring-boot, spring, springboot, spring-cloud
Spring Mvc Thymeleaf Crud
Spring MVC CRUD Application with Thymeleaf, HTML5, CSS3 and Bootstrap
Stars: ✭ 14 (-99.08%)
Mutual labels:  spring-data-jpa, spring-boot, spring, spring-mvc, springframework
Javadevjournal
Source code for the tutorials published on the Javadevjournal site.
Stars: ✭ 141 (-90.69%)
Mutual labels:  spring-data-jpa, spring-boot, spring-cloud, spring-mvc, spring-security
Mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Stars: ✭ 54,797 (+3519.35%)
Mutual labels:  spring-boot, spring, springboot, spring-cloud, spring-security
Spring Boot In Action
Spring Boot 系列实战合集
Stars: ✭ 4,153 (+174.31%)
Mutual labels:  spring-boot, spring, springboot, springframework, spring-security
Spring Boot Shopping Cart
Simple shopping cart web app made using Spring Boot + Thymeleaf
Stars: ✭ 85 (-94.39%)
Mutual labels:  spring-data-jpa, spring-boot, spring, spring-mvc, spring-security
Ibase4j
Spring,SpringBoot 2.0,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis缓存,Shiro权限管理,Spring-Session单点登录,Quartz分布式集群调度,Restful服务,QQ/微信登录,App token登录,微信/支付宝支付;日期转换、数据类型转换、序列化、汉字转拼音、身份证号码验证、数字转人民币、发送短信、发送邮件、加密解密、图片处理、excel导入导出、FTP/SFTP/fastDFS上传下载、二维码、XML读写、高精度计算、系统配置工具类等等。
Stars: ✭ 1,548 (+2.25%)
Mutual labels:  spring-boot, spring, springboot, spring-mvc, springmvc
Mini Spring
mini-spring是简化版的spring框架,能帮助你快速熟悉spring源码和掌握spring的核心原理。抽取了spring的核心逻辑,代码极度简化,保留spring的核心功能,如IoC和AOP、资源加载器、事件监听器、类型转换、容器扩展点、bean生命周期和作用域、应用上下文等核心功能。
Stars: ✭ 698 (-53.9%)
Mutual labels:  spring-boot, spring, springboot, spring-mvc, springframework
Ssm Demo
🍌Spring+SpringMVC+Mybatis+easyUI实现简单的后台管理系统
Stars: ✭ 1,639 (+8.26%)
Mutual labels:  spring, springboot, spring-mvc, springmvc, springframework
Spring Reddit Clone
Reddit clone built using Spring Boot, Spring Security with JPA Authentication, Spring Data JPA with MySQL, Spring MVC. The frontend is built using Angular - You can find the frontend source code here - https://github.com/SaiUpadhyayula/angular-reddit-clone
Stars: ✭ 210 (-86.13%)
Mutual labels:  spring-data-jpa, spring-boot, spring, springmvc, spring-security
BusinessInfrastructurePlatformGroupVersion
A java web project based on Spring Boot using MySQL, Spring MVC, Hibernate, Spring Data JPA, Query DSL, Lombok, Logback, etc.
Stars: ✭ 90 (-94.06%)
Mutual labels:  spring-security, springboot, springframework, spring-mvc, spring-data-jpa
Spring Boot Demo
spring boot demo 是一个Spring Boot、Spring Cloud的项目示例,根据市场主流的后端技术,共集成了30+个demo,未来将持续更新。该项目包含helloworld(快速入门)、web(ssh项目快速搭建)、aop(切面编程)、data-redis(redis缓存)、quartz(集群任务实现)、shiro(权限管理)、oauth2(四种认证模式)、shign(接口参数防篡改重放)、encoder(用户密码设计)、actuator(服务监控)、cloud-config(配置中心)、cloud-gateway(服务网关)等模块
Stars: ✭ 323 (-78.67%)
Mutual labels:  spring-boot, spring, spring-cloud, spring-mvc, spring-security
Jeecg Boot
「企业级低代码平台」前后端分离架构SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领新的开发模式OnlineCoding->代码生成->手工MERGE,帮助Java项目解决70%重复工作,让开发更关注业务,既能快速提高效率,帮助公司节省成本,同时又不失灵活性。
Stars: ✭ 26,432 (+1645.84%)
Mutual labels:  spring-boot, spring, springboot, spring-cloud
Favorites Web
云收藏 Spring Boot 2.X 开源项目
Stars: ✭ 4,485 (+196.24%)
Mutual labels:  spring-data-jpa, spring-boot, spring, springboot

FlyCloud

FlyClould 微服务实战项目框架,在该框架中,包括了用 Spring Cloud 构建微服务的一系列基本组件和框架,对于后台服务框架的搭建有很大的参考价值,大家可以参考甚至稍加修改可以直接应用于自己的实际的项目开发中 csdn地址:https://blog.csdn.net/geduo_83/article/details/87866018 欢迎点赞加星,评论打call、加群:810970432

在该框架中包括了用 Spring Cloud 构建微服务的一系列基本组件和框架,对于后台服务框架的搭建有很大的参考价值,大家可以参考甚至稍加修改可以直接应用于自己的实际的项目开发中。

更新日志:

FlyCloud 3.0.0 2020-03-23

为了满足广大开发者的便于测试、便于部署需求,对FlyCloud进行了单一结构体改造,并将其部署在了外网上,接口文档如下:http://106.12.61.238:8080/swagger-ui.html

  • spring boot + security + oauth2 单一结构体改造
  • 将所有的访问接口开放在外网上

FlyCloud 2.2.0 2020-03-09

  • springboot 升级为2.0.5

FlyCloud 2.1.0 2019-07-01

  • 相关bug修改
  • 代码优化

FlyCloud 2.0.0 2019-06-08

  • 业务组件module_news添加

FlyCloud 1.0.0 2019-02-28

初始版本:

  • 1.配置组件:注册中心、配置中心、授权中心
  • 2.监控组件:聚合监控、熔断监控、路由监控
  • 3.其他组件:网关服务、日志服务、公共服务
  • 4.业务组件:用户组件,博客组件

开发环境:

在该框架中,包括了用 Spring Cloud 构建微服务的一系列基本组件和框架,运行所需要软件如下:

  • 开发IDE:IDEA https://www.jetbrains.com/idea/download/#section=windows
  • 数据库:mysql5.7 https://dev.mysql.com/downloads/mysql/
  • 组件通信rabbitmq http://www.rabbitmq.com/download.html
  • Erlang环境 http://www.erlang.org/downloads Erlang环境 http://www.cnerlang.com/resource/182.html 该项目没有采用Maven进行项目构建,Maven通过xml进行依赖管理,导致整个配置文件太过臃肿,另外灵活性也不是很强,所以我采用Gradle进行项目构建和依赖管理,在FlyTour项目中我们见证了Gradle的强大,通过简单的一些配置就可以轻松的实现组件化的功能。该项目共有11个Moudle工程。其中10个位微服务工程,这10个微服务工程构成了一个完整的微服务系统,微服务系统包含了8个基础服务,提供了一整套微服务治理功能,他们分别是配置中心module_config、注册中心module_eureka、认证授权中心module_uaa、Turbine聚合监控服务module_monitor、链路追踪服务module_zipken、聚合监控服务module_admin、路由网关服务module_gateway、日志服务module_log。另外还包含了两个资源服务:用户服务module_user和blog服务module_blog,另外还有一个common的Moudle,为资源服务提供一些一本的工具类。

工程架构图:



下面对11个Moudle工程分别进行介绍:

  • 1.注册中心:module_eureka 在这个系统中,所有的服务都向注册中心module_eureka进行服务注册。能方便的查看每个服务的服务状况、服务是否可用,以及每个服务都有哪些服务实例 工作流程:
  • 2.配置中心:module_config 配置中心所有服务的配置文件由 config-server 管理,特别说明为了简单起见本框架中配置数据都放在本地并没有从git仓库远程获取 架构图:
  • 3.网关服务:module_gateway 网关服务使用的是 Zuul 组件, Zuul 组件可以实现智能路由、负载均衡的功能 gateway-service 作为 个边界服务,对外统一暴露 API 接口,其他的服务 API 接口只提供给内部服务调用,不提供给外界直接调用,这就很方便实现统鉴权、安全验证的功能 通过路由网关实现负载均衡:
  • 4.链路追踪服务:module_zipkin 它可以查看每个请求在微服务系统中的链路关系
  • 5.聚合监控服务:module_admin 提供了非常强大的服务监控功能,可以查看每个向注册中心注册服务的健康状态, 日志、注册时间等
  • 6.Turbine聚合监控服务:module_monitor 它聚合了 module_user和module_blog的Hystrix Dashboard ,可以查看这两个服务熔断器的监控状况
  • 7.认证授权服务:module_uaa Spring Cloud 0Auth2 由这个服务统一授权并返回Token。其他的应用服务例如module_user和module_blog作为资源服务 API 接口资源受保护的,需要验证Token并鉴后才能访问,我采用的0Auth2+JWT安全认证,需要生成私钥用于加密,公钥用于解密 生成私钥命令:
keytool -genkeypair -alias fly-jwt -validity 36500 -keyalg RSA -dname "CN=jwt,OU=jwt,O=jwt,L=haidian,S=beijing,C=CH" -keypass fly123 -keystore fly-jwt.jks -storepass fly123

生成公钥命令:

keytool -list -rfc --keystore fly-jwt.jks | openssl x509 -inform pem -pubkey

JWT认证流程:

  • 8.用户服务:module_user 作为资源服务,对外暴露用户的API接口资源
  • 9.blog服务:module_blog 作为资源服务,对外暴露blog的API接口资源
  • 10.日志服务:module_log 作为日志服务, module_user和module_blog服务通过RabbitMQ向module_log发送业务操作日志的消息,最后统一保存在数据库,由它统一持久化操作日志 日志服务架构图:

功能演示:

依次启动 module_eureka, module_config,module_zipkin及其他的微服务,等整个微服务系统完全启动之后,在览器上访问 即:http://localhost:8761,即就是Eureka 可以查看服务注册的情况 API 接口文档采用 Swagger2 框架生成在线文档, module_user 工程和 module_blog工程集成了Swagger2 ,集成Swagger2 只需要引入依赖,并做相关的配置,然后在具体的 Controller上写注解,就可以实现 Swagger2的在线文档功能在浏览器输入http://localhost:8762/swagger-ui.html 查看user服务的api文档 在浏览器输入http://localhost:8763/swagger-ui.html 查看blog服务的api文档   在浏览器上访问 http://localhost :9998 展示了 admin-service 登录界面,admin-service 作为 个综合监控的服务,需要对访问者进行身份认证才能访问它的主页,登录用户名为 dmin 密码为 123456 这是登录成功后进入的首页面:  点击TURBINE,这是user服务和blog服务的熔断器监控页面 在浏览器上访问 http://localhost :9411查看服务之间相互调用的链路追踪 好了,截止到现在整个项目就全部介绍完了,本项目可以直接拿来应用,进行项目开发,本框架代码量较大,所以我就不贴源代码了

问题反馈

在使用中有任何问题,请在下方留言,或加入Android、Java开发技术交流群 QQ群:810970432 email:[email protected]

关于作者

var mxdl = {
    name : "门心叼龙",
    blog : "https://menxindiaolong.blog.csdn.net"
}

License

Copyright (C)  menxindiaolong, FlyCloud Framework Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
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].