
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
k8s ingress-nginx是个好东西,而如何用好ingress-nginx,抛开运维这块不说,对于ingress-nginx annotations掌握的好坏,决定了你在日常开发是否能使用好ingress-nginx ,因为ingress-nginx大部分能力都可以通过配置annotations实现出来。今天这篇文章主要是对ingress-nginx annotations一些常用功能做个

如果对springcloud-gateway有了解的同学,应该会知道springcloud-gateway默认提供了一个基于内存的路由定义仓库。基于内存的好处,就是快,但是缺点就是网关重启路由就丢失了。为了方便管理网关路由以及保证网关重启,路由不丢失,于是业务部门做了形如图的改造就是会有一个gateway的portal面板来管理路由,然后路由规则是保存在redis,gateway从redis取路由

前阵子参加业务部门的技术方案评审,故事的背景是这样:业务部门上线一个专为公司高管使用的系统。这个系统技术架构形如下图按理来说这个系统因为受众很小,可以说基本上没并发,业务也没很复杂,但就是这么一个系统,连续2次出现数据库宕机,而导致系统无法正常运行。因为这几次事故,业务部门负责人组织这次技术方案评审,主题如何避免再次出现类似这种故障?
在项目有个需求要保存一个字符串到redis,并设置一个过期时间。这个需求一看非常简单,使用redisTemplate一行代码搞定,代码如下redisTemplate.opsForValue().set("userKey", data, 10000);但保存后,查看redis发现value的前缀多出了\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
前置知识什么是SPI之前有写过一篇文章–>java之spi机制简介不了解spi的朋友,可以先查阅这篇文章了解下,再阅读下文前言假设大家已经对SPI有一定的了解,如果有使用过JDK提供的SPI的朋友,应该会发现JDK的SPI是无法实现按需加载。那如何解决这个短板问题?这边提供2种思路,一种是自己实现一套SPI,另外一种在实现组件很常用的手段,就是当前组件无法满足时,可以借助其他组件或者再加代理
前言sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。自从hytrix 2018年进入维护状态,再到springcloud 2020.0版本hytrix被移除,就可以料想未来一段时间springcloud全家桶的熔断降级组件基本上的首选就是alibaba sentinel。今天就来聊
在我们开发微服务项目的过程中,难免会依赖各种jar,开发环境可能引用1.0.0-SNAPSHOT,而到了正式环境,则需要引用1.0.0。之前我们的做法是通过pom配置profile来达到不同环境,使用不同的版本。形如下-- 开发环境 --> < profile > < properties > < user-api.version > 1.0.0-SNAPSHOT </ user-api.vers

本文的素材来源与某次和朋友技术交流,当时朋友就跟我吐槽说apollo不如nacos好用,而且他们还因为apollo发生过一次线上事故。故事的背景大概是如下前阵子朋友部门的数据库发生宕机,导致业务无法正常操作,当时朋友他们数据库信息是配置在apollo上,朋友的想法是当数据库宕机时,可以通过切换配置在apollo上的数据库信息,实现数据源热变更。
本文的素材来源于朋友整合nacos2作为配置中心进行动态刷新时,踩到的坑。他当时遇到的问题,如下截图因为那段时间比较忙,于是我在没看朋友项目代码的基础上,就找个了看似解决方案的答案,扔了过去后面朋友加了这个配置,问题果然没有解决。后面就抽了一点时间,要了他的项目代码来看下。本文不算是@RefreshScope与nacos2整合踩到的坑,主要还是动态代理方面的知识,题目有点标题党了。有些视频讲nac
前言之前写过一篇文章聊聊因不恰当使用alibaba sentinel而踩到的坑。其实这里面有些坑是因为在sentinel在mvc项目统计时,是基于mvc的拦截器来实现。这种方式会导致比如热点参数规则,比较难获取到参数,因此要在项目中额外配置@SentinelResource注解才会生效。今天我们就来聊下如何通过自定义注解把springmvc请求的功能和sentinel功能给整合起来实现思路核心思路







