利用 Spring Boot Admin 对 Spring Boot 应用监控以及配置认证
前言 Spring Boot Admin 是一个优秀的 Spring Boot 应用监控,可以查看应用的各项性能指标,修改日志级别(生产环境利器,不用动不动就上 Arthas),dump 线程等功能。如果是微服务可以使用 Eureka 来做服务的注册与发现,单体应用的话直接往 Spring Boot Admin 的 Server 端注册就行。 这里…
三、Kubernetes 核心概念
什么是 Kubernetes 企业级的容器编排平台。 Kubernetes 这个单词是希腊语,它的中文翻译是“舵手”或者“飞行员”。联想一下 Docker 的集装箱,不难想到 k8s 是想成为运送集装箱的轮船,来管理集装箱,也就是管理容器。 “k8s”,是通过将8个字母“ubernete ”替换为“8”而导致的一个缩写。(这种缩短名称的方式还是第一…
二、容器基本概念
容器与镜像 什么是容器? 操作系统里的进程 进程之间可以相互看到、相互通信; 使用的是同一个文件系统,可以对同一个文件进行读写操作; 使用相同的系统资源。(文件系统也算系统资源吧?) 存在的问题 进程被其他进程影响,高级权限的进程可以攻击其他进程; 不同进程对相同文件的使用可能存在冲突; 抢占系统资源,影响其他进程。 如何给应用提供独立的运行环境 …
一、云原生介绍
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…
【SpringCloud】六、Open Feign
Open Feign Feign Feign声明式WebService客户端,旨在使编写Java Http客户端变得更容易,通过注解来使用。 Open Feign Open Feign是SpringCloud在Feign的基础上进行了封装,使之支持SpringMVC的注解和HttpMessageConverters(Http请求/响应与Java对象…
【SpringCloud】五、Ribbon
Ribbon 简介 Spring Cloud Ribbon也是基于Netflix Ribbon实现的一套客户端负载均衡和服务调用的工具。可配置连接超时、重试的机制,实现自定义负载均衡算法。 GitHub Ribbon已进入维护模式,未来可能会被Spring Cloud Loadbalancer替代。 Ribbon本地负载均衡,在调用微服务接口时候,…
【SpringCloud】四、Eureka集群
Eureka集群 高可用、故障容错 负载均衡 节点之间相互注册,相互守望 cloud-eureka-server7001:Eureka集群 application-7001.yml server: port: 7001 eureka: instance: hostname: eureka7001.com #eureka服务端的实例名称 client…