弹性spring boot k8s
Spring中循环依赖和@Async异步同时使用存在的坑
Spring能够解决不是构造器注入导致的循环依赖。我最近在开发中遇到了一个问题,有两个模块,模块AA和模块BB,同时引用了公共模块C。C中有三个Bean,分别是A,B,C;他们之间存在了循环依赖(使用@Autowired注入属性)。在模块AA的启动类加了@EnableAsync注解能够正常启动,模块 ......
Spring-容器启动流程
#1,Spring 容器启动三个过程 1、初始化Spring容器,注册内置的BeanPostProcessor的BeanDefinition到容器中 2、将配置类的BeanDefinition注册到容器中 3、调用refresh()方法刷新容器 因为是基于 java-config 技术分析源码,所以 ......
Spring AOP官方文档学习笔记(一)之AOP概述
1.AOP简介 (1) Spring的关键组件之一就是AOP框架,它是对Spring IoC的补充(这意味着如果我们的IOC容器不需要AOP的话就不用引入AOP),此外,AOP亦是对OOP的补充,OOP的关注点在于类,而AOP的关注点在于切面,它可以将分散在不同类不同方法中重复的代码逻辑抽取出来,称 ......
《做一个不背锅运维:一篇搞定K8s Ingress》
Ingress的出现 Ingress是一种Kubernetes资源,用于将外部流量路由到Kubernetes集群内的服务。与NodePort相比,它提供了更高级别的路由功能和负载平衡,可以根据HTTP请求的路径、主机名、HTTP方法等来路由流量。 因此,可以说Ingress是为了弥补NodePort ......
设计模式(三十)----综合应用-自定义Spring框架-自定义Spring IOC-定义bean、注册表相关类
现要对下面的配置文件进行解析,并自定义Spring框架的IOC对涉及到的对象进行管理。 <?xml version="1.0" encoding="UTF-8"?> <beans> <bean id="userService" class="com.itheima.service.impl.User ......
docker desktop k8s错误Unable to connect to the server: EOF
开启 Docker Desktop 的 Kubernetes 功能后运行正常,但在终端中使用 `kubectl` 命令依然会报错,这是什么原因呢... ......
37、K8S-安全机制-CA、User、Cluster
1、证书信息 1.1、简介 我们知道,通过kubeadm在创建集群的时候,其中有一步就是:生成kubernetes控制组件的kubeconfig文 件及相关的启动配置文件,通过各种conf文件,让不同的组件具备操作相关资源的权限。 1.2、位置 master1 ~]# ll /etc/kuberne ......
spring两级缓存可以解决循环依赖吗?
概念理解: spring的三级缓存 1层 singletonObjects 第一级缓存,存放可用的成品Bean。 2层 earlySingletonObjects 第二级缓存,存放半成品的Bean,半成品的Bean是已创建对象,但是未注入属性和初始化。用以解决循环依赖。 3层 singletonFa ......
k8s部署redis集群(cluster模式)
参考:https://www.cnblogs.com/LiuChang-blog/p/15898005.html 一、redis集群部署(三主三从) 1.1yaml文件准备 (1) 配置文件说明 # 部署所在命名空间: redis-cluster [root@k8s-master1 ~]# cd / ......
spring boot服务之间Feign调用
spring boot服务之间Feign调用 一、服务提供者 1、引入Feign相关依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</art ......
k8s 中使用helm 安装zookeeper,kafka集群<三>
helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update helm install kafka bitnami/kafka \ --set statefulset.replicaCount=1 \ --set ......
k8s 安装kibana<二>
vim kibana.yaml apiVersion: apps/v1 kind: Deployment metadata: name: kibana labels: app: kibana spec: selector: matchLabels: app: kibana template: met ......
k8s 安装3节点es集群<一>
vim es.yamlapiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: name: elasticsearch-pdb spec: selector: matchLabels: app: elasticsearch maxU ......
Eclipse中创建Spring项目的步骤
1.创建一个动态网站项目 2.添加Spring框架的jar包 3.创建一个实体类Stutent package com.spring; public class Student { private String name; private String number; private String ......
SpringBoot:自定义一个spring-boot-starter,以及maven拉取不到starter依赖的一些常见错误说明
没有太多多余的代码,记录下来主要是为了以后写starter的时候有个模板可以直接拖下来参考。 github项目地址:rain-spring-boot-starter ####操作步骤 starter项目 (1) 新建一个maven项目,项目名推荐命名为:xxxx-spring-boot-starte ......
36、K8S-安全机制-ServiceAccount(SA)
1、基础知识 1.1、场景基础 1.1.1、应用场景 对于任何一种应用场景,其权限的认证管理都是非常重要的,对于linux系统来说,selinux、防火墙、 pam、sudo等等,其核心的目的都是为了保证我们的环境是一个安全的。 对于k8s的这种大型的任务编排系统来说,设计到的认证远远超出了一般平台 ......
使用kubeadm安装k8s 1.26版本
环境及版本信息 kubernetes: 1.26.0 容器运行时:containerd 1.6.19 虚拟机系统:centos 7.9 虚拟机内核版本:5.4.238-1.el7.elrepo.x86_64 在所有节点进行服务器设置 设置主机名 # master: hostnamectl set-h ......
k8s pod log日志不显示python print打印的内容
问题 Python 程序代码中使用 print() 打印的内容,在查询 k8s pod 日志时不显示。 原因 print() 函数 Python 的 print() 函数签名如下: print(*objects, sep=' ', end='\n', file=None, flush=False) ......
Spring Boot常见问题描述
1 什么是SpringBoot?为什么要用SpringBoot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件),创建独立的spring引用程序 main方法运行。 (1)独立运行:Spring Boot而且内嵌了各种servlet容器,T ......
在云服务器上搭建个人版chatGPT及后端Spring Boot集成chat GPT
总结/朱季谦 本文分成两部分,包括【国内服务器上搭建chat GPT】和【后端Spring Boot集成chat GPT】。 无论是在【国内服务器上搭建chat GPT】和【后端Spring Boot集成chat GPT】,两个方式都需要魔法访问,否则是无法正常使用的。 至于什么是魔法访问,以及如何 ......
spring 多线程 线程池
Spring Framework 提供了一些对于多线程编程的支持,其中包括线程池。线程池是一种实现线程复用的机制,它可以预先创建一定数量的线程,然后把任务交给这些线程来执行,避免了每次都要创建和销毁线程的开销。 在 Spring 中,我们可以使用 TaskExecutor 接口来管理线程池。该接口是 ......
k8s资源例题
k8s资源例题 1.基于角色的访问控制-RBAC 创建一个名为 deployment-clusterrole 的 clusterrole,该 clusterrole 只允许对 Deployment、Daemonset、Statefulset 具有 create 权限,在现有的 namespace a ......
spring事务处理
1.开启注解式事务驱动 在SpringConfig配置类上添加注解 @EnableTransactionManagement//开启注解式事务驱动 2.配置事务的管理器 在JdbcConfig中配置,也可以在别的配置类里 // 配置事务的管理器 @Bean public PlatformTransa ......
Spring
Spring https://start.spring.io/ Gradle相当于maven Spring分为2.x和3.x snapshot正在开发的快照版本,较为不稳定 M2:第二个里程碑,而后会转换为snapshot,最后变为release正式版 选择 选择2.7.10(支持jdk8) 选择如 ......
搭建Spring-Boot工程 (JPA & Gradle)
由于Mybatis-Plus以及MAVEN的搭建项目略废时间(相比JPA和Gradle && 创建DEMO工程时),因此建议大家平时在学习时可通过以下方式快速开发Spring-Boot项目 创建项目 https://start.spring.io/ Project # Gradle - Groovy ......
Spring MVC
Spring MVC 参考视频:B站狂神,写这个只是方便个人复习,怎么写是我自己的事,我能看懂就行,没要求非要让你看!白嫖还挑刺,是很没有风度的事情。希望做个有风度的“五好青年”! ......
spring
老版本的基础知识 IoC:控制反转。类A引用类B,如果我们要更改类A引用类C,那么程序就要再测试,发布一次,浪费资源,因此我们可以不在类A中写上new B(),将对象放入Bean层中,需要的时候从Bean层中取,就叫IoC。 DI:依赖注入:如果Bean层中有些类之间有依赖关系(A引用C),那么我们 ......
Spring常见问题描述
1 渊源 原型在200210由Rod Johnson发布的书中体现,后来在200403spring 1.0版本发布,201709spring 5.0发布, (1)spring ioc 控制反转,管理容器中的bean,主要使用di依赖注入实现。 工厂模式,通过sessionFactory去注入实例。 ......
k8s-二进制安装
#安装前必读 本文档适用于k8s 1.17+ 安装说明: 本文章将演示CentOS 7二进制方式安装高可用k8s 1.17+,相对于其他版本,二进制安装方式并无太大区别,只需要区分每个组件版本的对应关系即可。 生产环境中,建议使用小版本大于5的Kubernetes版本,比如1.19.5以后的才可用于 ......
k8s服务发现(coredns)
一、在 Kubernetes 中,服务发现方式 基于环境变量的方式 基于内部域名的方式(dns) k8s 中的 pod 基于 service 域名解析后,再负载均衡分发到 service 后端的各个 pod 服务中,如果没有 DNS 解析,则无法查到各个服务对应的 service 服务 1、DNS服 ......