Kafka 队列积压引发的问题
最近在生产环境的 Skywalking 监控统计数据中发现某个方法平均每分钟调用 5 万次,远远超出了预期。因为这个方法与 Kafka 消费者相关,于是排查 Kafka 的相关统计数据,发现该队列在这个时间段内有数据积压。
October 25, 2024
最近在生产环境的 Skywalking 监控统计数据中发现某个方法平均每分钟调用 5 万次,远远超出了预期。因为这个方法与 Kafka 消费者相关,于是排查 Kafka 的相关统计数据,发现该队列在这个时间段内有数据积压。
October 25, 2024
介绍 Caffeine 是基于Java 1.8 的高性能本地缓存库,由 Guava 改进而来,而且在 Spring5 开始的默认缓存实现就将 Caffeine 代替原来的Google Guava,官方说明指出,其缓存命中率已经接近最优值。
October 23, 2024
状态码 301 和 302 的区别 301 301 是永久重定向。301 跳转会默认被浏览器缓存,当用户第一次访问某个短链后,如果服务器返回 301 状态码,则这个用户在后后续多次访问同一短链接地址,浏览器会直接请求缓存中的跳转地址,不会再请求短链服务重新获取地址。这么做的优点是降低了服务器的压力,但是无法统计短链接的点击次数。
October 22, 2024
有个开发组不时地在测试环境中遇到下面的问题: Caused by: org.apache.kafka.common.errors.InvalidPidMappingException: The producer attempted to use a producer id which is not currently assigned to its transactional id 经过排查发现,这个开发组在代码中使用了 Kafka 的事务。这个错误的抛出与使用了事务有关系。
January 16, 2024
有个需求,要求在前端调用接口时,将请求数据与响应数据做加密。做了一下调研,可以用下面的方式来实现: public class EncryptGatewayFilter implements GlobalFilter, Ordered { private static final String BODY_ENCRYPT_HEADER = "X-ENCRYPTED"; private static final String ENCRYPT_VERSION_1 = "1.0"; @Override public int getOrder() { return -99; } @Override public Mono<Void> …
January 9, 2024