Spring RestTempate 打印请求和响应内容日志
系统中经常需要调用第三方接口实现业务功能,为了方便调试和定位问题,我们通常需要将接口调用参数和返回结果打印到日志文件中。在Spring项目中一般会用RestTemplate来调用第三方接口。 通过在RestTemplate调用过程中统一打印日志,可以保持代码的整洁,也可以统一日志格式,比在业务逻辑中到处打印接口调用日志要方便的多。 具体的代码参照 示例项目…
记录技术探索,分享实践心得。
共 1791 篇文章系统中经常需要调用第三方接口实现业务功能,为了方便调试和定位问题,我们通常需要将接口调用参数和返回结果打印到日志文件中。在Spring项目中一般会用RestTemplate来调用第三方接口。 通过在RestTemplate调用过程中统一打印日志,可以保持代码的整洁,也可以统一日志格式,比在业务逻辑中到处打印接口调用日志要方便的多。 具体的代码参照 示例项目…
在Java 21中,除了推出很多新特性之外,一些Bug修复,也需要注意一下。因为这些改变可能在升级的时候,造成影响。 # Double.toString() 和 Float.toString() 的精度问题修复 比如:对于 Double.String(1e23) : 在Java 19后,输出内容为: 1.0E23 在Java 18中,输出内容为:…
一、基本认识 1. borg系统 Borg系统是google公司研发的一套服务管理软件(战略武器),borg系统是kubernetes的前身,kubernetes也是google公司开发的,架构设计思想是参考borg系统来件架构设计的。 Google在十几年前已经开发应用:borg系统,容器化管理方式。 google的秘密武器 Borg.…
一、Pod核心原理 1. Pod是什么? Pod的特点:封装 docker 容器的容器 1、有自己的IP地址 2、有自己的hostname Pod实际上也相当于是一个独立的容器(虚拟机器),而这个pod容器内部封装的是由docker引擎所创建的容器,可以理解为pod就是一个 虚拟化 分组,pod内部可以存储一个或者多个容器。 2. Pod作用…
一、Pod网络 1. Pod结构 Pod的特点:容器 1、有自己的IP地址 2、有自己的hostname 3、有自己的端口 Pod实际上可以理解为就是k8s云平台中的虚拟机,而这个pod内部封装的是由 docker 引擎所创建的容器,也可以理解为pod就是一个虚拟化分组,pod内部可以存储一个或者多个容器。…
Spring中的BeanFactoryPostProcessor是在Spring容器实例化Bean之后,初始化之前执行的一个扩展机制。它允许开发者在Bean的实例化和初始化之前对BeanDefinition进行修改和处理,从而对Bean的创建过程进行干预和定制化。…
哈喽大家好,我是咸鱼 今天我们继续来讲一讲 Kafka 当有消息被生产出来的时候,如果没有指定分区或者指定 key ,那么消费会按照【轮询】的方式均匀地分配到所有可用分区中,但不一定按照分区顺序来分配 我们知道,在 Kafka 中消费者可以订阅一个或多个主题,并被分配一个或多个分区…
懒加载是Spring框架中的一个重要特性,它允许我们将bean的实例化推迟到第一次使用时。懒加载的主要用途是提高应用程序的启动性能,减少不必要的资源消耗。 一、懒加载的用途…
1. 云架构(云原生) 1.1 何为云原生 云原生是一条最佳路径或者最佳实践。更详细的说, 云原生为用户指定了一条低心智负担的、敏捷的、能够以可扩展、可复制的方式最大化地利用云的能力、发挥云的价值的最佳路径。 云原生的技术范畴包括了以下几个方面: 第一部分是云应用定义与开发流程。这包括应用定义与镜像制作、配置 CI/CD、消息和 Streaming…
1. 请简单描述一下 Reactor 模型在 Netty 中的应用。 在Netty-Server 中一般使用的是 Reactor 的 多线程 池模型,而Netty-Client 中一般使用的是 Reactor 单线程池模型。具体来说,NioEventLoopGroup 充当着线程池。每一个 NioEventLoopGroup 中都包含了多个…