自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vakinge在路上

擅长底层框架开发、热爱开源,Jeesuite系列框架作者。

  • 博客(14)
  • 收藏
  • 关注

原创 Mendmix代码解析:百搭的配置文件读取工具ResourceUtils

很久很久以前当微服务还没出现、配置中心还没出现、yaml配置文件也还没流行的时候,我们都习惯在项目里面写一个类似或者的工具,无论在静态方法还是jsp代码都屡试不爽。如今Springcloud各种参数化配置、各种profile,Apollo、Nacos各种配置中心以及Properties、Yaml各种配置格式你的配置文件读取工具还好么?接下来我们讲解项目的工具类开启我们的篇章。ResourceUtils贯穿了项目各个生命周期,在整个项目中被大量使用。目前支持Properties、Yaml配置文件解析、兼容Sp

2022-06-08 21:34:19 336

原创 webflux下整合Mendmix文件上传组件上传文件到阿里云

Spring cloud gateway及webflux响应式编程模式实现文件上传到阿里云等第三方文件服务,本文以整合Mendmix文件上传组件为例演示。

2022-06-01 21:47:42 394

原创 Jeesuite-libs正式更名为:Mendmix

目前Mendmix沉淀了一整套包括业务网关、安全框架、数据库能力、缓存、消息中间件、分布式定时任务、以及融合各种云服务、各种第三方中间件的能力。在Mendmix的发展过程中为了满足轻量级及高可拓展性要求,我们不断取舍,不断融合目前已经实现了多个核心组件自主化。

2022-05-31 20:59:23 194

原创 我的十年技术成长之路漫谈及分享

经常有以前的同事或者群友问我如何成为架构师,如何保持学习,如何写简历等等问题。前段时间我也在公司部门内部做了一次非正式分享(只列提纲没写内容,即兴发挥)主要介绍作为技术人如何学习,如何成长。最近从广州离职回到长沙也是职业生涯的一次大抉择,于是把之前分享内容写下来一方面作为自我总结,另外一方面也希望对其他后辈技术人有借鉴意义。因为是自我总结不一定完全对,欢迎交流。话不多说,直奔主题。学习篇学习路线相比10年前现在的技术分门别类越来越多,各种端、各种开发语言、各种框架、各种领域。于是在学习路线制定上很.

2021-08-14 09:28:08 530 1

原创 DDD领域驱动设计在微服务架构的应用

DDD领域驱动设计在微服务架构的应用前言我们都自诩面向对象编程,熟悉的使用Action/Service/DAO三层架构模式,然而随着业务日益复杂,代码越来越臃肿,这时感觉之前面向对象的理论也毫无用武之地。造成这种局面的原因很大程度是我们忽视了业务建模和设计的重要性。我们通常启动一个项目后,架构师等技术人员会拿到产品人员的产品需求然后开始各种建模、各种拆分,也是在技术内部形成共识和就进入实施阶段。这实际就犯了一个严重的错误:技术和业务未达成业务模型的共识。2003年Eric Evans发布首版《领域驱动设

2021-05-09 14:32:22 1494 4

原创 mongodb位运算$bit介绍及使用场景详解

这里写自定义目录标题欢迎使用Markdown编辑器按位查询运算符语法举个例子欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。按位查询运算符语法方法名描述$bitsAllClear匹配数字或二进制值,其中一组位位置* all *的值为0$bitsAllSet匹配数字或二进制值,其中一组位位置* all *的值为1

2021-04-29 18:11:09 2786 1

原创 分布式场景全局唯一ID生成工具类(非雪花算法)

这是一个分布式场景下全局唯一ID生成工具,类似于雪花算法(SnowFlake)。如果你需要生成订单号等类似前缀+yyMMddHHmmss+序列格式的全局唯一性序列可以使用。结构{前缀}{yyMMddHHmmss}{workerId}{序列ID}优点与雪花算法一样,单机执行无需其他中间件做分布式协调代码简单,可自行修改。雪花算法估计很多人还看不太明白吧局限性需要提前规划序号的最大值,最大值 > 预计单机一秒钟需要生成的序列最大值最佳实践通过ZK等维护WORKER_ID这样可以更

2020-12-18 18:29:53 441 1

原创 开篇:中台之我见

近几年开始中台火了,各大小公司都在建设中台,技术中台、业务中台、数据中台、搜索中台、AI中台…仿佛不提中台就觉得落伍了,那么到底什么是中台呢?其实大部分公司都不知道啥是中台,也不知道他们到底适不适合建设中台。目前我也在做一些中台实践项目,在做的过程中或多或少有些自己的理解,总体来说建设路径和场景落地还是能够自洽。接下来我分享下我对技术中台、业务中台、数据中台的理解。什么是中台?首先中台不是一门新的技术,而是一种新的架构模式或者理解为一种新的架构思维。相比我们熟悉的SOA、微服务、ESB这些架构而言,.

2020-08-29 14:07:08 201

原创 快速创建项目神器-项目克隆脚本

现在大家都流行用微服务,所以需要创建新项目的频率也越来越高。在此分享一段基于模板项目生成新项目的脚本。原理很简单,关键词替换,所以新建服务名尽量使用辨识度高的模板项目:templatev1-service#!/bin/shif [ ! -n "$1" ] ;then echo "请输入项目名" exit 0fi MOUDLE_NAME=$1PROJECT_NA...

2019-06-05 18:13:40 299 1

原创 redis订阅发布机制实现分布式锁

推荐: jeesuite开发框架,免费开源、一站式解决方案。通常情况在解决分布式场景锁机制都会首先想到redis。因为redis单线程天然就解决了这个问题。使用redis实现分布式锁可以通过getset和setnx。getset:将给定 key 的值设为 value ,并返回 key 的旧值(old value)redis> GETSET db mongodb # ...

2018-03-26 12:57:46 3002 1

原创 遗留非springboot传统项目接入eureka注册与服务发现

最近规划自动化运维以及统一监控需求,鉴于目前公司内部大部分项目采用spring cloud体系架构、另外还有一些老的传统spring web的项目,于是就考虑把老的项目通过低成本改造的方式接入spring cloud体系,也就是可以通过eureka注册和服务发现、通过zuul服务路由。

2017-12-15 10:39:57 11969 1

原创 spring boot微服务通用部署启动脚本

这是一个通用的springboot微服务启动、停止脚本。

2017-12-04 09:57:54 13360

原创 Spring Cloud zuul自定义统一异常处理实现

Zuul在springcloud微服务体系中提供filer和router功能,是微服务不可或缺的部分。filer处理默认实现的外还可以自定义进行授权、限流、安全校验等,router完全可以替代Nginx反向代理。Zuul异常处理就是由SendErrorFilter完成。在我们应用过程我们发现使用默认的异常filter有两个问题不是很

2017-12-03 23:12:37 21883 5

原创 单个用户及Ip请求频率限制思路(附java实现)

我们熟悉的限流算法漏桶和令牌桶外,很多情况我们还需要考虑当个用户(ip)访问频率控制,避免被恶意调用。如果是开放平台限制一天调用多少次这种粗放的粒度相对好处理一些。如果需要更小时间粒度控制,譬如一个10秒时间窗口最大只允许访问10次,相对上述粗放粒度我们还需要考虑性能和边界两个问题。在这里提供一种思路给大家,这个也是我写的api网关访问频率控制的代码,经过了线上环境实践。推荐:,jeesuite开

2017-11-19 22:53:13 13949 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除