• Stars
    star
    1,582
  • Rank 29,572 (Top 0.6 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 6 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🔥🔥🔥FlyClould 微服务实战项目框架,在该框架中,包括了用 Spring Cloud 构建微服务的一系列基本组件和框架,对于后台服务框架的搭建有很大的参考价值,大家可以参考甚至稍加修改可以直接应用于自己的实际的项目开发中,该项目没有采用Maven进行项目构建,Maven通过xml进行依赖管理,导致整个配置文件太过臃肿,另外灵活性也不是很强,所以我采用Gradle进行项目构建和依赖管理,在FlyTour项目中我们见证了Gradle的强大,通过简单的一些配置就可以轻松的实现组件化的功能。该项目共有11个Module工程。其中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的Module,为资源服务提供一些一本的工具类

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.

More Repositories

1

android-mvp-mvvm-flytour

🔥🔥🔥 FlyTour是Android MVVM+MVP+Dagger2+Retrofit+RxJava+组件化+插件组成的双编码架构+双工程架构+双语言Android应用开发框架,通过不断的升级迭代该框架已经有了十个不同的版本,5.0之前工程架构采用gradle配置实现组件化,5.0之后的工程架构采用VirtualAPK实现了插件化,5.0之前采用Java编码实现,5.0之后采用Kotlin编码实现,编码架构由MVVM和MVP组成,工程架构和编码架构及编码语言开发者可根据自己具体的项目实际需求去决定选择使用,该框架是Android组件化、Android插件化、Android MVP架构、Android MVVM架构的集大成者,帮助你快速的搭建自己的App项目开发框架,以便把主要的精力放在自己的项目的业务功能实现上,另外在长期的工作实践中总结整理大量的实用工具类在项目lib_common组件的util包当中方便大家调用。
Java
3,142
star
2

android-fly-materialdesign

Android Activity换场动画类 :通用Activity换场动画,高级Activity换场动画 APP打开引导页:图片引导,视频引导 导航菜单类:TabLayout菜单、FragmentTabHost菜单、FragmentTabHost菜单 + ViewPager菜单、菜单拖拉重新排列、可删除 广告轮播类 数据列表类:RecycleView可拖拉重新排列、可删除 Material Design支持库相关效果 日历相关效果:高仿小米日历、年月切换动画、滚动年日历、滚动月日历、左右翻页月日历
Java
456
star
3

android-mvp-dagger2-flytranslate

MVP+RxJava+Retrofit+Dagger2, FlyTranslate是基于MVP开发的Android应用程序的通用架构集成了许多开源项目如Dagger2,RxJava,Retrofit ,使您的开发更快捷,更轻松。
Java
182
star
4

android-fly-refreshlayout

FlyRefreshLayout刷新组件基于SuperSwipeRefreshLayout进行二次开发,增加了通用小菊花样式DaisyRefreshLayout刷新控件和通用小箭头样式ArrowRefreshLayout刷新控件,支持RecyclerView,NestedScrollView,ScrollView 、ListView,GridView,能自定义HeadView和FooterView,不但支持最基本的下拉刷新、上拉加载更多,还在其基础上扩展了是否启用下拉刷新、是否启用上拉加载更多、增加了自动刷新功能,优化了下拉刷新监听器、上拉加载更多监听器,增加了自动刷新监听器,使其调用更加的方便
Java
74
star
5

android-amap-track-collect

这阵子由于项目需要,需要从手机上采集用户的运动轨迹数据,这样的功能大家都见到的很多了,比如咕咚、悦动圈,对跑步运动轨迹数据进行采集,再如,微信运动、钉钉运动,对于每一天你走步进行计数,如果要记录轨迹就离不开的手机定位,如果要记录步数那就离不开陀螺仪(角速度传感器),花了一天多的时间实现了一个定位数据实时采集的功能。
Java
63
star
6

android-amap-track-move

Android车辆运动轨迹平滑移动(高仿滴滴打车)最佳实践
Java
37
star
7

AudioRecorder

Android 音频录制、播放,最近在项目要用到录音的功能,研究了几天,看了很多的资料,今天在这里分享记录一下以便回头查看。Android给我们提供了两个录音的API接口:MediaRecord、AudioRecoder
Java
25
star
8

android-mvp-flyfun

android mvp项目框架,Activity和Fragment为View层,负责UI的显示,Presenter为业务处理层,既能调用UI逻辑,又能请求数据,该层为纯Java类,不涉及任何Android API。 Model层中包含着具体的数据请求,数据源,三层之间调用顺序为view->presenter->model
Java
18
star
9

android-amap-drivingbehavior-collect

传感器分类:感知环境的、感知距离的、感知运动的、感知方位的
Java
11
star
10

java-data-algorithm

数据是基础,算法是灵魂
Java
9
star
11

FlyHttp

okhttp 简单封装
Java
8
star
12

android-custom-view

android custom view
Java
7
star
13

android-touch-event

事件分发好比是领导给下属派活,假如有一个小公司,就三个级别,老板,经理,员工,老板现在有一个任务,他首先会把这是任务派给经理,然后经理接到这个任务,会把这个任务交给下面的员工去完成,如果这个员工觉得这个任务能搞定,那么他就把这个任务完成了,如果搞不定他会告诉他们的经理,经理拿到这个任务之后,如果经理能搞定,经理就自己完成了,如果他也搞不定,他就会去找老板,最终老板自己把这个任务给完成了。这个过程是不是和我们的View事件分发很像,简直是太形象了,我非常佩服谷歌的这些大神们,他们把事件传递机制设计的竟如此精妙。
Java
6
star
14

FlySpringMvc

java SpringMvc
JavaScript
3
star
15

android-mvp-flytour-kotlin

android-mvp-flytour-kotlin
Kotlin
3
star
16

FlyEwsSSH

Java SSH
Java
2
star
17

designmode

designmode
Java
2
star
18

FlyDagger2

FlyDagger2
1
star
19

jcsmanager

ASP
ASP
1
star
20

kotlin-example

kotlin-example
Kotlin
1
star
21

js-css-dingding-vcars

js-css-dingding-vcars
Vue
1
star
22

android-dagger2

android-dagger2
Java
1
star
23

HorizontalCenterRecycleView

HorizontalCenterRecycleView
1
star