Spring Boot + Open Telemetry 实现 Kafka 追踪
本文将带你了解如何使用 [Spring Boot](/spring-boot/) 和 Open Telemetry 为 Kafka 生产者和消费者配置追踪功能。我们会使用 Micrometer 库发送追踪信息,并使用Jaeger来存储和可视化这些数据。Spring Kafka内置了与 Micrometer 的集成,用于 `KafkaTemplate` 和监听容器。本文还会介绍何...
本文将带你了解如何使用 [Spring Boot](/spring-boot/) 和 Open Telemetry 为 Kafka 生产者和消费者配置追踪功能。我们会使用 Micrometer 库发送追踪信息,并使用Jaeger来存储和可视化这些数据。Spring Kafka内置了与 Micrometer 的集成,用于 `KafkaTemplate` 和监听容器。本文还会介绍何...
Spring Framework 6.1 中的新变化 {#spring-framework-61-中的新变化} ------------------------------------------------------- ### 核心容器 {#核心容器} * 总体上 [与虚拟线程和 JDK 21 兼容](https://github.com/spring-projects...
1、概览 {#1概览} ----------- 在 Spring 集成测试中,我们可能想要覆盖应用的一些 Bean。通常,可以使用专门为测试定义的 Spring Bean 来实现。然而,在 Spring Context 中提供多个具有相同名称的 Bean,可能会遇到 `BeanDefinitionOverrideException` 异常。 本文将带你了解如何在 Sprin...
1、概览 {#1概览} ----------- 本文将带你了解如何在 [Spring](/spring/) 应用中使用 Thymeleaf 模板来渲染错误信息。 我们会通过一个简单的 Spring Boot 项目来进行演示,该项目是一个 "用户注册" 应用,需要验证客户端传递的各个字段,还要处理全局错误。 2、Spring Boot 应用示例 {#2s...
一、读写分离介绍 {#一读写分离介绍} ------------------- 当使用Spring Boot开发数据库应用时,读写分离是一种常见的优化策略。读写分离将读操作和写操作分别分配给不同的数据库实例,以提高系统的吞吐量和性能。 读写分离实现主要是通过动态数据源功能实现的,动态数据源是一种通过在运行时动态切换数据库连接的机制。它允许应用程序根据不同的条件或配置选择不同...
1、概览 {#1概览} ----------- 当有多个相同类型的实现时,需要对 Spring Bean 进行不同的命名。这是因为如果 Bean 没有唯一的名称,Spring 在注入 Bean 时会出现歧义。 通过控制 Bean 的命名,可以告诉 Spring 我们想将哪个 Bean 注入到目标对象中。 本文将带你了解 Spring Bean 命名策略,以及如何为同一类型...
1、概览 {#1概览} ----------- 安全通信在现代应用中发挥着重要作用。客户端和服务器之间通过普通 HTTP 进行的通信并不安全。对于生产级的应用,应该在应用中通过 TLS(传输层安全)协议启用 HTTPS。 本文将带你了解如何在 [Spring Boot](/spring-boot/) 应用中启用 TLS。 2、TLS 协议 {#2tls-协议} -----...
什么是精度丢失? {#什么是精度丢失} ------------------- Java 中长整形 `Long` (64位)的取值范围是:`-9223372036854775808` - `9223372036854775807`。 在这种情况下,由于 JavaScript 的 `Number` 类型是 64 位浮点数,它无法精确表示超过 53 位的整数。因此,当将 Jav...
1、概览 {#1概览} ----------- 本文将带你了解如何把 Spring Context 中的 Bean 设置为 null。在某些情况下,这可能很有用。例如,在测试时不想提供 Mock 对象。以及,在使用一些可选功能时,可能希望避免创建实现,并直接传递 null。 2、组件设置 {#2组件设置} --------------- 有几种方法可以将 Bean 设置为...
1、概览 {#1概览} ----------- 本文将带你了解如何通过 properties 文件控制 Spring Boot Actuator 端点的状态,以及如何保证端点的安全。 2、设置 {#2设置} ----------- 为了使用 Actuator,需要在 Maven 配置中包含 [`spring-boot-starter-actuator`](https://...