弹性spring boot k8s

Spring Cloud Gateway的Filter中如果有耗时操作应该如何处理?

1,如果不处理,会大大影响吞吐量; 2,spring cloud gateway是reactive的编码风格,改造代码难度很大,很不习惯; 3,spring cloud gateway使用事件线程处理一个http请求 4,事件线程比较少(参考netty event loop),不能有耗时操作,否则影 ......
Gateway Spring Filter Cloud

Java Spring Boot 规范统一响应体结构

在进行 web开发 中,如果我们的返回数据不统一,会是啥样呢,比如像下面这种: @RestController public class DemoController { @GetMapping("/haha") public Object haha() { return ""; } @GetMap ......
结构 Spring Java Boot

Java Spring Boot 自定义异常与全局异常处理

我们在对比 过滤器与拦截器 一文中,知道请求过来,各种拦截处理的顺序: 1.过滤器 2.拦截器 3.controllerAdvice 4.AOP 5.controller 6.AOP 7.controllerAdvice 8.拦截器 9.过滤器 今天我们学习的 自定义异常与异常处理 这块内容,恰好就 ......
全局 Spring Java Boot

Java Spring Boot 过滤器的使用与拦截器对比

在 web 应用中,早期在 servlet 中使用 filter过滤器,随着 spring 的发展,不同于依托 servlet容器,拦截器依托 Spring框架 应用也很广泛。 今天主要内容分两部分: 1.filter的使用 2.filter和interceptors对比 filter的使用 导入依 ......
过滤器 Spring Java Boot

spring boot项目中org.springframework.boot.autoconfigure.AutoConfiguration.imports和META-INF.spring下的文件的作用汇总

一、resource下的文件 org.springframework.boot.autoconfigure.AutoConfiguration.imports spring.factories messages_zh_CN.properties 二、spring.factories文件我们知道在sp ......

containerd-wasm-shims k8s 运行webassembly 的containerd shim

containerd-wasm-shims 属于一个包装,基于了runwasi 可以实现在k8ss 中运行webassembly 工作负载,使用上提供了多种wasm 应用runtimes 以及扩展,同时目前KWasm组织也包装了一个k8s operator 实现方便的部署 说明 基于webassem ......

别再重复造反射轮子了,Spring 中的 ReflectionUtils 工具类,应有尽有!

作者:策马踏清风 链接:https://www.jianshu.com/p/756778f5dc87 ReflectionUtils是spring针对反射提供的工具类。 handleReflectionException异常处理 推荐一个开源免费的 Spring Boot 实战项目: https:/ ......

Spring Cache + Caffeine的整合与使用

前言 对于一些项目里需要对数据库里的某些数据一直重复请求的,且这些数据基本是固定的,在这种情况下,可以借助简单使用本地缓存来缓存这些数据。这些介绍一下Spring Cache和Caffeine的使用。 引入依赖和CacheConfig 在pom文件里面引入下面的依赖: <dependency> <g ......
Caffeine Spring Cache

Spring状态机

1.依赖 <!--状态机--> <dependency> <groupId>org.springframework.statemachine</groupId> <artifactId>spring-statemachine-core</artifactId> <version>2.0.1.RELE ......
状态 Spring

国产化软件新浪潮: spring 改造替代...

Java 新的应用开发框架:更快、更小、更简单。 启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10;同时支持 jdk8, jdk11, jdk17, jdk21;支持 graalvm native image。 ......
国产 spring 软件

Spring Cloud Seata系列:基于AT模式实现分布式事务

目录前提Seata的AT模型流程梳理一阶段:二阶段-回滚二阶段-提交脏写问题写隔离读隔离优缺点AT与XA的区别实现AT模式 https://seata.io/zh-cn/docs/dev/mode/at-mode AT模式同样是分阶段提交的事务模型,不过缺弥补了XA模型中资源锁定周期过长的缺陷。 前 ......
分布式 事务 模式 Spring Cloud

玩转 K8s 权限控制:RBAC + kubeconfig 搞定 kubectl 权限管理那些事

1. 先抛需求 当一个 K8s 集群需要被多个租户共享时,就涉及到了权限问题,比如你是管理员,这时候你会面临着“给每个用户分配一个 Namespace”类似的需求。 更进一步,可能你需要限制特定用户只能够对集群进行特定的操作,比如不能让“张三”有机会执行 kubectl delete node <N ......
权限 kubeconfig kubectl RBAC K8s

KubeKey 离线部署 KubeSphere v3.4.1 和 K8s v1.26 实战指南

作者:运维有术 前言 知识点 定级:入门级 了解清单 (manifest) 和制品 (artifact) 的概念 掌握 manifest 清单的编写方法 根据 manifest 清单制作 artifact KubeKey 离线集群配置文件编写 KubeKey 离线部署 Harbor KubeKey ......
KubeSphere 实战 KubeKey 指南 4.1

Spring Boot应用启动 java -jar

1.系统参数的标准格式为:-Dargname=argvalue,多个参数之间用空格隔开,如果参数值中间有空格,则用引号括起来 #1.基本java -jar run.jar #2.指定java 路径nohup /opt/mdw/jdk1.8.0_241/bin/java -jar run.jar #3 ......
Spring Boot java jar

k8s配置文件管理

1.为什么要用configMap ConfigMap是一种用于存储应用所需配置信息的资源类型,用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件。 通过ConfigMap可以方便的做到配置解耦,使得不同环境有不同的配置。 考虑真实的使用场景,像数据库这类中间件,是作为公共资源,为 ......
文件 k8s k8 8s

k8s数据持久化

前面的学习,我们已经基本完成了在k8s中部署一个web服务,运行pod、创建service、创建ingress对外提供域名的七层代理。 下一个环境就得去关注应用部署后的数据存储问题,容器化如何管理,k8s化如何管理。 1.什么是Volume 1.容器内部的存储数据,再容器生命周期中是很短暂的,伴随容 ......
数据 k8s k8 8s

k8s安装Ingress-Nginx

目前,DHorse(https://gitee.com/i512team/dhorse)只支持Ingress-nginx的Ingress实现,下面介绍Ingress-nginx的安装过程。 下载安装文件 首先,需要匹配Ingress-nginx版本和kubernetes版本。 在https://gi ......
Ingress-Nginx Ingress Nginx k8s k8

k8s网络

Kubernetes本身并不负责网络通信,Kubernetes提供了容器网络接口CNI(Container Network Interface),具体的网络通信交给CNI插件来负责,开源的CNI插件非常多,像Flannel、Calico。 Kubernetes虽然不负责网络,但要求集群中的Pod能够 ......
网络 k8s k8 8s

spring 怎么解决循环依赖的

spring 怎么解决循环依赖的 理解spring的生命周期 分为容器启动阶段、bean的实例化阶段、bean的属性注入阶段、bean的初始化阶段、bean的缓存阶段、bean的销毁阶段 怎么解决循环依赖 假设有两个对象 X和Y,X依赖了Y,Y依赖了X,spring能解决循环依赖,底层主要接住了3个 ......
spring

k8s资源清单

k8s资源清单 再安装好k8s之后,本章开始学习k8s的具体使用玩法。 重点介绍如何使用Workload管理业务应用的生命周期,实现服务不中断的滚动更新,通过服务发现和集群内负载均衡来实现集群内部的服务间访问,并通过ingress实现外部使用域名访问集群内部的服务。 学习过程中会逐步对Django项 ......
清单 资源 k8s k8 8s

kubeadm安装k8s集群

1.机器准备 部署k8s集群的节点按照用途可以划分为如下2类角色: master:集群的master节点,集群的初始化节点,基础配置不低于2c 4g slave:集群的slave节点,可以多台,基础配置不低于1c 2g 这里教程是基于非高可用版本的k8s集群,高可用是指有多个k8s-master主节 ......
集群 kubeadm k8s k8 8s

k8s介绍

k8s容器编排系统 k8S是谷歌几十年来研发的一套系统,更新了运维领域的玩法。 内容很多,先快速练习玩法,知道是什么就行。 具体【为什么】再花时间慢慢学吧! 0.参考资料 1. k8s能干什么 https://kubernetes.io/zh-cn/docs/concepts/overview/#w ......
k8s k8 8s

教你使用Prometheus-Operator进行K8s集群监控

本文分享自华为云社区《Promethues-operator入门使用指导》,作者:可以交个朋友。 一、 背景 在非operator配置的普罗中我们监控k8s集群都是通过配置configmap进行服务发现和指标拉取。切换到prometheus-operator难免会有些使用问题。不少用户已经习惯底层配 ......

prometheus监控k8s集群node节点/linux操作系统

prometheus监控k8s集群node节点/linux操作系统 一、监控linux操作系统 1、下载二进制包 wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0 ......
节点 集群 prometheus 系统 linux

Spring6教程

入门 使用Maven引入Spring6基础依赖环境: <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>6.0.2</ ......
Spring6 教程 Spring

spring使用druid多数据源yml密码加密

1.依赖 <!-- Mysql驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.24</version> </dependency> <!- ......
数据源 密码 数据 spring druid

tio-boot发布

tio-boot发布 https://litongjava.github.io/tio-boot-docs/ https://github.com/litongjava/tio-boot tio-boot 是一款基于 Java AIO 高性能 Web 框架,可以 tio-boot 可以简单的让单台服 ......
tio-boot boot tio

K8s 里多容器 Pod 的健康检查探针工作机制分析

目录1. 开篇2. 聊啥3. 结论(TL;DR)4. 测试过程4.1 准备测试用镜像4.2 准备 Deployment YAML4.3 准备 Service YAML4.4 准备第二个 Service YAML4.5 测试过程5. 结论6. 结尾 1. 开篇 米娜桑,宝子们,ladies and 砖 ......
探针 容器 机制 K8s Pod

Java Spring Boot 拦截器的使用小结

很多时候,我们在开发项目中,总是希望在接口中,尽量进行业务处理,其余的事项交给其他组件来处理,比如: 登录验证 日志记录 接口性能 在 Spring Boot 中,正如大多数框架一样,可以用到拦截件进行处理,不管叫中间件还是拦截件,总之都是为了让我们更好的专注于业务,解耦功能。 我们看看 Sprin ......
小结 Spring Java Boot

k8s证书相关

1、cfssl 字签证书 查看证书 可以使用以下命令查询CFSSL证书是否过期: 复制代码 cfssl certinfo -cert <certificate_file> 其中,<certificate_file>为证书文件路径。执行该命令后,会输出证书的相关信息,包括有效期等信息。可以根据输出结果 ......
证书 k8s k8 8s