thumbnail
五、应用编排与管理:核心原理
资源元信息 资源对象 Spec 部分用来描述期望的状态 Status 部分用来描述观测到的状态 元数据 Labels 标签主要用来筛选资源和组合资源 Annotations 描述资源,系统或者工具用来存储资源的非标示性信息 阿里云负载器的证书 ID nginx 接入层的配置信息 上一次 kubectl 操作的资源的 json 的描述 OwnerRe…
thumbnail
四、理解 Pod 和容器设计模式
为什么需要 Pod 容器的本质 一个视图被隔离、资源受限的进程 容器里 PID = 1 的进程就是应用本身 管理虚拟机 = 管理基础设施;管理容器 = 管理应用本身 Kubernetes 云时代的“操作系统” 容器就是这个操作系统的软件安装包 进程组 有的应用由多个进程组成,这些进程共享应用的资源,相互协作以达到应用的功能。 容器管理多进程的应用 …
利用 Spring Boot Admin 对 Spring Boot 应用监控以及配置认证
前言 Spring Boot Admin 是一个优秀的 Spring Boot 应用监控,可以查看应用的各项性能指标,修改日志级别(生产环境利器,不用动不动就上 Arthas),dump 线程等功能。如果是微服务可以使用 Eureka 来做服务的注册与发现,单体应用的话直接往 Spring Boot Admin 的 Server 端注册就行。 这里…
thumbnail
三、Kubernetes 核心概念
什么是 Kubernetes 企业级的容器编排平台。 Kubernetes 这个单词是希腊语,它的中文翻译是“舵手”或者“飞行员”。联想一下 Docker 的集装箱,不难想到 k8s 是想成为运送集装箱的轮船,来管理集装箱,也就是管理容器。 “k8s”,是通过将8个字母“ubernete ”替换为“8”而导致的一个缩写。(这种缩短名称的方式还是第一…
thumbnail
二、容器基本概念
容器与镜像 什么是容器? 操作系统里的进程 进程之间可以相互看到、相互通信; 使用的是同一个文件系统,可以对同一个文件进行读写操作; 使用相同的系统资源。(文件系统也算系统资源吧?) 存在的问题 进程被其他进程影响,高级权限的进程可以攻击其他进程; 不同进程对相同文件的使用可能存在冲突; 抢占系统资源,影响其他进程。 如何给应用提供独立的运行环境 …
一、云原生介绍
CNCF 云原生基金会,2015 年,由Google、Redhat 以及微软等大型云计算厂商以及一些开源公司共同牵头成立。 Kubernetes 是 CNCF 托管的第一个开源项目。 云原生 为用户指定了一条低心智负担的、敏捷的、能够以可扩展、可复制的方式最大化地利用云的能力、发挥云的价值的最佳路径。 能够最大化地发挥云的能力,使得我们开发的软件和…
利用Mybatis拦截器,全局处理入库字段
利用Mybatis拦截器,全局处理入库字段 场景 需要对某张表的个别字段删除全部空格、替换半角括号,但是项目里入口比较多,不止有前端录入,还有接口接收的数据。即使现在全部入口处理了,后续新增入口也不能保证。所以需要统一处理,一劳永逸。 实现 EnableCustomInterceptor 标识实体类入库时会使用自定义拦截器(mybatis) @Ta…
全局日志记录traceId
全局日志记录traceId 单体应用为了更方便的排查问题,使用过滤器+日志框架的MDC功能,实现每个请求产生的日志,都包含一个UUID。 定义过滤器 @Component @Order(1) public class TraceFilter extends OncePerRequestFilter { public static final Str…
Spring Boot多任务并发处理
Spring Boot多任务并发处理 创建公共线程池 @ConfigurationProperties(prefix = "common-thread-pool") @Data @Slf4j @Configuration @EnableAsync public class CommonThreadPoolConfig imple…
thumbnail
【SpringCloud】六、Open Feign
Open Feign Feign Feign声明式WebService客户端,旨在使编写Java Http客户端变得更容易,通过注解来使用。 Open Feign Open Feign是SpringCloud在Feign的基础上进行了封装,使之支持SpringMVC的注解和HttpMessageConverters(Http请求/响应与Java对象…