问题kafka消息spring

Spring:现代Java开发的必备框架

Spring:现代Java开发的必备框架 Spring是一个轻量级的Java框架,它提供了各种企业级应用程序开发的工具和技术。Spring框架的核心是IoC容器和AOP框架。IoC容器使得Java应用程序的组件化变得更加容易,AOP框架使得Java应用程序的切面编程变得更加容易。Spring框架还提 ......
框架 Spring Java

解决golang 的内存碎片问题

解决golang 的内存碎片问题 本文译自Why I encountered Go memory fragmentation? How did I resolve it?,作者通过分析golang的堆管理方式,解决了内存碎片的问题。 背景 我们的团队正在搭建运行一个兼容Prometheus的内存时序 ......
碎片 内存 golang 问题

高并发环境下生成序列编码重复问题分析

一、背景 有个业务系统(订单系统),通过后台日志和监控观察,系统偶尔会出现重复唯一索引问题,例如:后台日志片段 Duplicate entry 'service_no' for key 'idx_service_no' .... 也就是说写入数据与数据库已有数据发生重复。 下面我们分析一下问题出现在 ......
序列 编码 环境 问题

使用go的并发性来解决Hilbert酒店问题

译自:Designing for Concurrency: the Hilbert’s Hotel Problem in Go,本文使用go的并发性来解决Hilbert酒店问题。本文比较有意思的是它对问题的描述很吸引人,在看完文字描述之后,代码实现逻辑也基本顺理成章,当然代码本身的实现也相当优雅。 ......
Hilbert 酒店 问题

从源码MessageSource的三个实现出发实战spring·i18n国际化

从源码去看MessageSource的几个实现类的源码出发,基于spring的国际化支持,实现国际化的开箱即用,静态文件配置刷新生效以及全局异常国际化处理。 ......
MessageSource 实战 源码 三个 spring

RabbitMQ真实生产故障问题还原与分析

RabbitMQ生产故障问题分析 由某一次真实生产环境rabbitMQ故障引发血案,下面复盘问题发生原因以及问题解决方法。 1、 问题引发 由某个服务BI-collector-xx队列出现阻塞,影响很整个rabbitMQ集群服务不可用,多个应用MQ生产者服务出现假死状态,系统影响面较广,业务影响很大 ......
RabbitMQ 故障 问题

Spring Boot2中如何优雅地个性化定制Jackson

概述 本文的编写初衷,是想了解一下Spring Boot2中,具体是怎么序列化和反序列化JSR 310日期时间体系的,Spring MVC应用场景有如下两个: 使用@RequestBody来获取JSON参数并封装成实体对象; 使用@ResponseBody来把返回给前端的数据转换成JSON数据。 对 ......
Jackson 个性 Spring Boot2 Boot

Spring MVC的请求处理逻辑

当大家了解了如何编写一个简单的Spring MVC程序后,大家心中应该会有一些好奇:这背后到底发生了什么? Spring MVC是怎么把这些功能串联起来的?我们只是写了一个控制器而已,HTTP请求是怎么转换为控制器方法的调用的?结果又是怎么变成JSON的.....啊这小伙伴们是不是已经混乱了!? 接 ......
逻辑 Spring MVC

轮播图接口加缓存和定时更新(双写一致性问题以及其解决方案)

一、轮播图加缓存 有些知名网站首页被访问的频率很高,假设瞬间 1w个人在访问,首页的轮播图接口会执行1w次,1w次查询轮播图标的sql在执行,轮播图基本不变,首先我们给自己写的轮播图接口加缓存,我们可以用缓存数据库Redis来实现加缓存的需求 首先罗列一下文字版的逻辑,之后在代码上实现 当轮播图接口 ......
一致性 缓存 接口 解决方案 方案

ArchKeeper (开篇):架构守护平台的问题与理念

在敏捷开发环境下,系统通过迭代增量的交付价值,系统架构也是如此。团队不可能在项目之初就建立完美的系统架构,系统架构应该随着系统迭代不断演进。架构演进和架构腐化是看待架构的不同视角:架构腐化着眼于现状,架构演进侧重于未来架构腐化不可避免,随着时间流转腐化现象必然发生。而我们需要做的是:通过某种方式及早... ......
开篇 ArchKeeper 架构 理念 问题

玩转钉钉消息推送!

我是3y,一年CRUD经验用十年的markdown程序员👨🏻‍💻常年被誉为职业八股文选手 在前阵子我就已经接入了钉钉的群机器人和工作消息推送,一直没写文章同步到给大家。 像这种接入渠道的工作,虽然我没接入过,但可预见性地就是看看官方文档,然后对着文档一顿学习,复制下接入的代码,然后调试,最后就 ......
消息

【LeetCode回溯算法#07】子集问题I+II,巩固解题模板并详解回溯算法中的去重问题

子集 力扣题目链接 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1, ......
算法 子集 问题 LeetCode 模板

【LeetCode回溯算法#08】递增子序列,巩固回溯算法中的去重问题

递增子序列 力扣题目链接(opens new window) 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。 示例 1: 输入:nums = [4,6,7,7] 输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6 ......
算法 序列 LeetCode 问题 08

【LeetCode二叉树#17】在二叉搜索树中插入或删除某个值(涉及重构二叉树、链表基础、以及内存泄漏问题)

二叉搜索树中的插入操作 力扣题目链接(opens new window) 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索 ......
LeetCode 内存 基础 问题 17

关于这个“微信提现”的问题,太炸裂了,以至于我写了段代码来验证!

你好呀,我是歪歪。 周末的时候,我在网上看到一个关于微信钱包提现时,手续费收取的一个问题。 说真的,就这个问题吧,我个人觉得,放眼整个金融界,乃至于整个弱智吧,甚至于整个东半球,这都是一个相当炸裂的问题啊。 一时间,我居然恍惚了起来:一眼看去,漏洞百出。但是仔细分析之后,居然 TMD 无懈可击?! ......
代码 问题

如何理解Spring框架中的ioc?

如何理解Spring框架中的ioc? ioc,Inversion of Control(控制反转),是Spring中的一种设计思想而非技术。 我们可以从4个方面理解ioc: ①谁控制谁? ——Ioc容器控制对象。 ②控制了什么? ——Ioc容器控制了获取对象及其外部资源。 ③为什么是反转? ——传统 ......
框架 Spring ioc

Spring事务(Transaction)管理高级篇一栈式解决开发中遇到的事务问题

Spring是目前Java开发中最流行的框架了,它的事务管理我们在开发中常常的用到,但是很多人不理解它事务的原理,导致开发中遇到事务方面的问题往往都要用很长的时间才能解决,下面就带着大家去深入了解Spring的事务,然后文章的最后还会给出开发中常常遇到的问题以及解决方案。 如果单纯的用Spring框 ......
事务 Transaction Spring 问题

Spring注解篇,学完注解深入了解SpringBoot更容易

由于Spring Boot项目底层也都是Spring,使用Spring Boot就需要对Spring的注解有一定的了解,这次就把Spring的部分注解聊一下。熟悉了Spring的注解使用Spring Boot开发更是得心应手。 @ComponentScan:用于指定扫描包的路径,只有在它指定的包下  ......
注解 SpringBoot Spring

Spring Boot自动配置原理懂后轻松写一个自己的starter

目前很多Spring项目的开发都会直接用到Spring Boot。因为Spring原生开发需要加太多的配置,而使用Spring Boot开发很容易上手,只需遵循Spring Boot开发的约定就行了,也就是约定大于配置,无需觉得它神奇,它的底层都是使用的Spring。聊完这个原理带着大家轻松写一个自 ......
原理 starter Spring Boot

chatGPT帮助开发实战解答问题和反思

问题来自.Net开发群友 问题 我想做一个自动生成单据号的功能,但是在EFCORE里没有行级锁,请有什么等价方案吗? ChatGPT回答 在 EF Core 中确实没有提供行级锁(row-level locking)的功能,因为这需要对数据库进行显式的锁定操作,而 EF Core 的设计理念是尽可能 ......
实战 chatGPT 问题

云原生时代顶流消息中间件Apache Pulsar部署实操-上

本篇先部署Apache Pulsar 最新版本2.11.0的 Locally Standalone,并通过创建Topic、生产消息和消费消息验证基础环境;接着通过二进制也即是所谓裸机部署方式一步步演示如何部署Pulsar的分布式集群,并通过Admin客户端验证基于租户、命名空间一些消息管理和使用简单... ......
中间件 消息 时代 Apache Pulsar

调式源码解决 seata 报错 can not get cluster name 问题

最近在使用Spring Cloud整合分布式事务seata,项目启动之后,控制台一直报错: can not get cluster name in registry config 'service.vgroupMapping.nacos-provide-order-seata-service-gro ......
调式 源码 cluster 问题 seata

RabbitMQ 延迟消息实战

RabbitMQ 延迟消息实战 现实生活中有一些场景需要延迟或在特定时间发送消息,例如智能热水器需要 30 分钟后打开,未支付的订单或发送短信、电子邮件和推送通知下午 2:00 开始的促销活动。 RabbitMQ 本身没有直接支持延迟队列的功能,如果您搜索“如何在 RabbitMQ 中使用延迟消息” ......
实战 RabbitMQ 消息

MQ收到无序的消息时如何进行业务处理

业务背景 跟第三方系统做对接,双方通过ActiveMQ进行通信,消息之间是有内在关联的,也就是消息本来应该是有业务顺序的,但由于一些原因,现在收到消息是乱序的,这种情况下做业务处理就有一点小问题了 方案一:自己重排序 收到消息后,自己在内存排序,然后按顺序丢到队列中,自己控制消息的发送和接收保证收到 ......
消息 业务

好消息!微信小程序开发环境自带vConsole

背景介绍 事情是这样子的,我们在开发小程序的时候,需要在真机上把相关的日志打出来以便进行问题定位和回溯,于是在编程界就有个今天这个新闻。 好消息!广东某男子发现微信小程序开发环境自带vConsole. 同学,你看到这个新闻不震惊不兴奋打鸡血吗?你开发小程序都少装一个vConsole包呢!!! 基于D ......
好消息 vConsole 环境

grafana展示的CPU利用率与实际不符的问题探究

问题描述 最近看了一个虚机的CPU使用情况,使用mpstat -P ALL命令查看系统的CPU情况(该系统只有一个CPU core),发现该CPU的%usr长期维持在70%左右,且%sys也长期维持在20%左右: 03:56:29 AM CPU %usr %nice %sys %iowait %ir ......
利用率 实际 grafana 问题 CPU

Spring注解补充(一)

注解补充 挑一些常用,但是深入不多的总结一下。 Bean的生命周期 在@Bean注解中,添加init属性和destroy属性 @Bean(initMethod = "initMethod", destroyMethod = "destroyMethod") public User user() { ......
注解 Spring

使用java.util.Timer实现定时任务,详解Thread.sleep() in a loop, probably busy-waiting问题

很多时候,我们需要定时任务实现一些诸如刷新,心跳,保活等功能。这些定时任务往往逻辑很简单,使用定时任务的框架(例如springboot @Scheduled)往往大材小用。 下面是一个定时任务的典型写法,每隔30s发送心跳 public static void main(String[] args) ......
busy-waiting probably 任务 waiting Thread

什么是push通知栏消息?

我是3y,一年CRUD经验用十年的markdown程序员👨🏻‍💻常年被誉为职业八股文选手 今天继续更新Austin,给Austin新增一个发送渠道(PUSH通知栏推送) Push通知栏消息是非常常见的,几乎每个APP都会做这个功能(没有消息推送的APP不是一个好的APP) 一般我们认为Push ......
通知栏 消息 push

三分钟实战手写Spring Boot Starter

1 背景 在平时的开发中,开发的同学会把一些通用的方法,写成一个工具类,例如日期转换的,JSON转换的等等,方便业务后续调用,使代码更容易维护。 如果一些更常用的方法,例如鉴权的,加解密的等等,几乎每个项目都会使用到,这时候开发的同学就会从以前的项目中再抄过来,随着项目的增多,几乎每个项目都有一份一 ......
实战 Starter Spring Boot