SpringCloud微服务脚手架

脚手架源码

callELPSYCONGROO/microservice-scaffolding

master分支没有使用,eureka + zuul 版本的脚手架在其对应的分支上。

先上源码,下面有一小段吐槽,后面才是介绍,其实这个介绍就是README,也可以直接进项目里面看。

吐个槽

好久都没有写博客了。自从今年换了工作以来,每天几乎都是12点过以后睡觉,天天都在不停的写代码,学习,涨姿势。

年初进公司的时候,给我一个任务,搞一个公司可用的时序数据库出来,当时选定了InfluxDB,于是花了一个多月,硬学了golang,写了个粗糙的不行的主从同步(主要是集群版的要收费)。完了转正的时候,说我工作没输出???我一个搞Java的,虽然说开发语言都是相通的,但是这些都是工作成功啊。唉,苦逼,没的话说,就是公司拿这个来压工资的吧。

顺便安利一波之前写的InfluxDB的文章。貌似真的是好久以前的事情啦,哈哈哈。

脚手架

为什么要搞这个脚手架呢?

之前学习SpringCloud框架的时候,看到两个大佬写的非常好,一个是纯洁的微笑还有一个是方志鹏的博客。感觉自己也应该做点什么,主要是膜拜大佬为新玩家做点贡献。

有一次跟别的公司的技术leader开会,老板让我们去涨涨姿势的,虽然技术没学到什么,但是名次倒是听了不少。其中就听到了 脚手架 这个词。之前开发过两次vuejs,用的都是脚手架直接搭建项目,于是就有了这么一个想法,也搞一套微服务系统的脚手架出来。老板一直都要求我们快速开发什么的,可能我相岔了吧,于是就准备搞个微服务系统框架的脚手架出来。

功能

主要有以下几个模块:

  • eureka注册中心

  • zuul网关

  • SpringBoot Admin监控

  • demo service 服务

eureka 注册中心

常规注册中心,未做集群配置,集群注册中心暂时不稳定


zuul 网关

网关中ErrorHandlerController配合ErrorFilter处理了网关层ZuulException的处理,可以将其转换为自定义结果返回。

RequestPathFilter可以进行请求路径拦截,拦截非法请求。

同时,网关层集成了swagger文档统一配置,可以直接访问网关层swagger地址,访问到内部所有服务的swagger文档。


SpringBoot Admin 监控

可以发送邮件通知


demo service 服务

Mybatis + Druid + PageHelper + MySql。

配置了FeignClient,服务熔断。

javax.validation的异常使用统一异常处理进行处理,封装为自定义响应。


未完待续

猜你喜欢

转载自blog.csdn.net/qq_20112609/article/details/83759518