摘要: 在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。 分库分表之所以被广泛使用,因为工程相对简单,但分库分表并不仅仅是分片,还是需要考虑如何扩缩容(全量同步、增量同步、数据校验等)。 因此笔者做了一个教学型分库分表示例项目 ,计划将分库分表的技术体系都实际演示一遍。 https://gith 阅读全文
posted @ 2024-03-21 21:59 勇哥编程游记 阅读(430) 评论(1) 推荐(6) 编辑
摘要: 两年前,朋友想知道 Boss 直聘上关于自动驾驶的岗位有哪些 ,于是,笔者写了一个简单的爬虫 crawler-boss ,将岗位的信息收集起来。 这篇文章,笔者想分享爬虫 crawler-boss 的设计思路。 1 基本原理 Selenium + chromedriver 对于很多动态渲染的网页而言 阅读全文
posted @ 2024-03-17 21:43 勇哥编程游记 阅读(621) 评论(0) 推荐(1) 编辑
摘要: 人工智能时代,最需要学习的编程语言是:python 。笔者是个 python 小白,昨天花了两个小时,第一次成功运行起来 python 项目 。 项目是 powerpoint-extractor ,可以将 ppt 文件中的图片提取出来,并输出到固定的目录。 1 安装 python 环境 首先打开终端 阅读全文
posted @ 2024-03-11 00:12 勇哥编程游记 阅读(264) 评论(0) 推荐(1) 编辑
摘要: Github : https://github.com/makemyownlife/platform-sms 短信服务 platform-sms 0.5.0 发布 ,新的版本做了非常多的优化和改进。 1、支持发送任意时间延时短信; 2、优化三方渠道适配器加载逻辑; 3、支持 Docker 部署。 4 阅读全文
posted @ 2024-03-05 11:49 勇哥编程游记 阅读(623) 评论(0) 推荐(5) 编辑
摘要: 我们在美团 APP 下单,假如没有立即支付,进入订单详情会显示倒计时,如果超过支付时间,订单就会被自动取消。 这篇文章,笔者想以架构师的视角,深入剖析如何设计订单超时自动取消的功能。 1 定时任务 首先,我们非常自然的想到定时任务的方案。 方案流程: 每隔 30 秒查询数据库,取出最近的 N 条未支 阅读全文
posted @ 2024-02-21 17:05 勇哥编程游记 阅读(978) 评论(0) 推荐(8) 编辑
摘要: 我们经常讲:研发人员有两只眼睛,一只是监控平台,另一只是日志平台。在对性能和高可用讲究的场景里,监控平台的重要性再怎么强调也不过分。 这篇文章,我们聊聊开源实时监控告警系统 HertzBeat 赫兹跳动。 1 产品特色 HertzBeat 有两个非常鲜明的特色:强大的监控模版和无需 Agent 。 阅读全文
posted @ 2024-02-05 23:00 勇哥编程游记 阅读(1151) 评论(1) 推荐(6) 编辑
摘要: 这篇文章,我们聊聊实现定时任务的六种策略。 1 自定义单线程 上图中,我们启动一个线程,该线程无限循环执行,每隔20毫秒执行业务代码。 这种方式非常简单易用,在很多中间件中得到广泛应用。 2 JDK ScheduleExecutorService ScheduledExecutorService 是 阅读全文
posted @ 2024-01-21 20:49 勇哥编程游记 阅读(624) 评论(1) 推荐(2) 编辑
摘要: Guava Cache是一款非常优秀的本地缓存框架,提供简洁易用的 API 供开发者使用。 这篇文章,我们聊聊如何使用 Guava Cache 异步刷新技巧带飞系统性能 。 1 基本用法 首先,在 Java 应用中添加 maven 依赖: <dependency> <groupId>com.goog 阅读全文
posted @ 2024-01-02 22:59 勇哥编程游记 阅读(872) 评论(0) 推荐(4) 编辑
摘要: 这篇文章,我们聊聊消息队列中非常重要的最佳实践之一:消费幂等。 1 基础概念 消费幂等是指:当出现 RocketMQ 消费者对某条消息重复消费的情况时,重复消费的结果与消费一次的结果是相同的,并且多次消费并未对业务系统产生任何负面影响。 例如,在支付场景下,消费者消费扣款消息,对一笔订单执行扣款操作 阅读全文
posted @ 2023-12-18 13:01 勇哥编程游记 阅读(821) 评论(0) 推荐(1) 编辑
摘要: 在 Spring Boot 项目中,数据库连接池已经成为标配,然而,我曾经遇到过不少连接池异常导致业务错误的事故。很多经验丰富的工程师也可能不小心在这方面出现问题。 在这篇文章中,我们将探讨数据库连接池,深入解析其实现机制,以便更好地理解和规避潜在的风险。 1 为什么需要连接池 假如没有连接池,我们 阅读全文
posted @ 2023-12-09 10:15 勇哥编程游记 阅读(1182) 评论(0) 推荐(3) 编辑