简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本地方法栈本地方法栈(Native Method Stacks)与虚拟机栈所发挥的作用非常相似,其区别只是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则是为虚拟机使用到的本地(Native)方法服务。本地方法栈也是线程私有的。和虚拟机栈一样,本地方法栈也会在栈深度溢出或者拓展失败时分别跑出StackOverFlowError和OutOfMemoryError异常。本地方法是使
在分布式项目中,可以采用ELK来作为日志的收集与分析系统,提供一个统一的入口来对日志进行收集,访问和管理。本文主要演示Spring Boot项目与ELK整合来实现日志的采集与监控。本次测试工程中,采用的架构如下图所示,微服务通过TCP协议将日志提供给Logstach,Logstach对日志数据进行采集和转换之后,将日志数据发送到Elasticsearch存储库,然后再通过Kibana对日志数据进行
项目的每日构建中,由于微服务比较多,每天会产生比较多的镜像,导致Harbor服务器很快被占满。所以要定期去清理不需要的镜像来释放存储空间。使用的Harbor版本是2.5.0镜像清理可以手动在Harbor页面上操作。根据Harbor官方文档,当我们删除某个镜像时,存储空间不会被真正的释放,必须要手动去执行垃圾清理来释放不再被引用的blobs文件。首先在页面删除不需要的镜像信息。然后在系统管理->垃圾
本篇主要整理了大文件分片上传客户端和服务端的实现,其中客户端是通过Java代码来模拟的文件分片上传的逻辑(我不太会写前端,核心逻辑都是一样的,这边前端可以参考开源组件:vue-uploader),服务端实现包含本地文件系统和AWS S3对象存储两种文件存储类型。实现原理其实很简单,网上也有很多资料,核心就是客户端把大文件按照一定规则进行拆分,比如20MB为一个小块,分解成一个一个的文件块,然后把这
背景生产环境Jenkins版本进行了升级,发现代码中直接使用http调用Jenkins REST API的方法失效了,都是同样的错误,No valid crumb was included in the request。百度的结果搜索了具体的错误信息,发现都是一样的,就是说把Jenkins的CSRF给关闭了,但是我在Jenkins上面没有找到关闭CSRF的入口。就像下面这张图。然后百度得知,Jen
最近需要把Golang实现的一个web项目集成到基于Spring Cloud Alibaba的微服务体系中,走Spring Cloud Gateway网关路由实现统一的鉴权入口。项目图示Golang客户端的注册发现使用的Nacos官方仓库里面的一个实现:https://github.com/nacos-group/nacos-sdk-go,我这边的实现大多数也是参考的官方提供的样例。首先,初始化c
Spring Cloud OpenFeign简单使用以及开启https前言之前的几篇博客中,微服务之间的调用是通过注入一个restTemplate对象,并且使用@LoadBalanced注解实现了负载均衡。其实Spring Cloud也提供了声明式的REST客户端:Feign,相对于直接注入restTemplate对象,Feign的使用更加简洁一些。本文主要记录了Spring Cloud Open
Spring Cloud Gateway自定义过滤器背景最近项目需要切换网关,由zuul切换为spring cloud gateway,研究了部分spring cloud gateway能力,本文主要记录了spring cloud gateway如何自定义过滤器。创建Spring Cloud Gateway工程添加如下maven依赖引入Spring Cloud Gateway,这边我测试的工程使用
SpringBoot配置文件中密码属性加密本文主要介绍了SpringBoot配置文件中的明文密码如何加密保存,读取以及对于自定义的加密算法加密的参数如何保存和读取。背景为了安全的需要,一些重要的信息比如数据库密码不能明文保存在配置文件中,需要进行加密之后再保存。SpringBoot可以使用jasypt-spring-boot这个组件来为配置属性提供加密的支持。集成jasypt-spring-boo
Spring Cloud Gateway实现限流背景zuul切换为spring cloud gateway时,需要重新实现限流逻辑。本文主要整理了spring cloud gateway中如何实现限流。zuul中的限流之前zuul的限流是通过guava提供的令牌桶算法实现的,通过一个全局的过滤器,对所有经过网关的请求,以IP地址作区分进行限流。引入guava依赖:<dependency>