
图解技术
文章平均质量分 78
大数据是指在一定时间范围内,由于快速的数据生成、收集和传输,使得数据的量级、速度和多样性超过传统数据处理软件和硬件能力范围,需要采用新的技术和方法进行有效管理和处理的数据集合。它具有规模性(Volume)、高速性(Velocity)、多样性(Variety)、价值性(Value)和准确性
奔向理想的星辰大海
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图解支付系统订单号设计与最佳实践
数据库一般都会设计一个自增ID做为主键,同时还会设计一个能唯一标识一笔业务的ID,这就是所谓的业务ID(也称业务键)。比如收单域有收单单号,支付域有支付号,渠道网关域有渠道支付号等,这些都属于业务ID。为什么有了自增ID后,还需要有业务ID呢?一般来说有以下几个核心原因:分库分表的强诉求。一旦分库分表,各表之间的自增ID就一定会重复。全球化部署的强诉求。在跨境支付系统建设时,部分国家地区要求本地化部署,需要通过业务ID知道业务运行在哪个机房。标识业务语义,在处理故障时能快速定位是哪个域哪个业务。原创 2025-01-02 16:40:43 · 699 阅读 · 0 评论 -
Spring Boot 中简单实现支付和转账功能
本文介绍了构建安全支付系统的关键要素,包括HTTPS传输、认证授权、数据加密等安全措施;数据库事务确保交易原子性;第三方支付网关集成和错误处理机制;通过异步处理、缓存和负载均衡提升性能;审计日志和AOP日志记录;全面的测试策略;以及优化用户体验的设计要点。文章还通过一个Spring Boot集成PayPal的案例,展示了具体的实现步骤,包括项目配置、支付服务开发和REST控制器创建。最后拓展了异步消息队列、Redis缓存和Spring AOP日志等增强功能的技术整合方案。原创 2025-07-07 10:26:50 · 57 阅读 · 0 评论 -
Spring Boot项目实现微信和支付宝支付
本文介绍了SpringBoot项目中集成支付宝和微信支付的实现方法。支付流程主要包括:用户选择支付方式、后端生成支付订单、支付平台返回二维码、用户扫码支付、支付结果通知和订单状态更新。文章详细讲解了支付宝支付服务的实现步骤,包括配置依赖、创建支付服务类和控制器类,以及处理支付结果通知。同时概述了微信支付的基本实现思路,包括定义支付接口和实现类。两种支付方式都遵循相似的流程,但具体实现需根据各自平台的API规范进行调整。原创 2025-07-07 10:22:06 · 71 阅读 · 0 评论 -
图解 MySQL 日志体系
MySQL日志系统解析:数据安全的基石 MySQL通过RedoLog、UndoLog和Binlog三大日志协同工作,解决数据库面临的三大核心挑战: RedoLog(重做日志)确保事务持久性,采用顺序写入方式提升性能 UndoLog(回滚日志)支持事务回滚,同时实现MVCC多版本并发控制 Binlog(二进制日志)记录所有数据变更,用于主从复制和数据恢复 三大日志通过两阶段提交机制协同工作:首先预写RedoLog和UndoLog,最后完整记录Binlog。这种机制在保证数据可靠性的同时,兼顾了系统性能和事务处原创 2025-06-20 09:55:37 · 23 阅读 · 0 评论 -
MCP基本概念与核心原理详解
MCP(Model Context Protocol,模型上下文协议)是由Anthropic公司提出的开放标准协议,旨在为大型语言模型(LLM)与外部数据源、工具及服务提供统一的通信框架。:统一JSON-RPC协议,支持跨语言(Python、TypeScript)和跨平台(本地/云端)集成,降低开发成本。:用户要求AI订机票时,MCP自动联动日历(资源)、支付接口(工具)和邮件系统,无需人工干预。:MCP服务器解析请求,调用资源(如执行SQL查询)或工具(如发送邮件),返回结构化数据。原创 2025-06-19 16:55:44 · 38 阅读 · 0 评论 -
java 微信支付-H5支付
本文介绍了Java实现微信H5支付的完整流程。首先通过微信支付SDK初始化配置并生成预支付订单,构建包含交易信息、金额、回调地址等参数,调用统一下单接口获取支付链接和预支付ID。然后前端跳转至微信支付页面。最后处理支付结果回调,验证签名后更新订单状态,并向微信返回确认响应。整个过程涵盖了从下单、支付到回调处理的完整闭环,实现了安全可靠的H5支付功能。原创 2025-06-11 11:22:26 · 148 阅读 · 0 评论 -
Java实现微信小程序唤起支付-JSAPI方式
本文详细介绍了Java实现微信小程序JSAPI支付的核心代码流程。通过封装WxPayUtil工具类,完成支付签名、参数拼接、XML解析等操作。支付流程包括:1)生成随机字符串和订单参数;2)第一次签名调用统一下单接口;3)解析返回的预支付ID;4)第二次签名生成小程序调用支付接口所需参数。代码展示了金额转换、本地IP获取、两次签名的具体实现,并提供了完整的支付接口响应参数封装过程。该实现需要注意时间戳字符串化、金额单位转换等细节问题。原创 2025-06-11 11:09:32 · 61 阅读 · 0 评论 -
喂饭级攻略小说写手的存活之路
当然,这个行业也有很大的不确定性,有人写了一年都没赚到钱,也有人写了几个月就火了。关键看你愿不愿意学习市场、调整策略。写小说是一个可以完全自闭、与世隔绝的职业,只要你愿意,甚至可以几年不出门,只活在自己的故事里。网文这行,天赋真不重要,能坚持才是王道,哪怕写得一般,日更个几千字,收入就有了。沉没成本低,哪怕写砸了,也就几天时间,不像长篇,一写就是几个月甚至几年。在网文世界,决定你能不能留住读者的,不是剧情多深刻,不是文笔多华丽,而是。很多人都觉得,写小说得有才华,得有文学素养,得有文化底蕴。原创 2025-04-07 14:37:34 · 138 阅读 · 0 评论 -
银联8583报文结构详解及报文解析流程
报文头 | 报文类型 | 位图 | 数据域(字段1~128) |:银联在标准ISO 8583基础上扩展字段(如字段60、62等)。作用:标识后续数据域中哪些字段存在(1表示存在,0表示不存在)。,覆盖字段1~64;(如金额、卡号),部分字段用二进制(如PIN、MAC)。字段42:123456789012345(商户号):如字段2(主账号,LLVAR格式,前2位为长度)。共128个字段(部分字段为银联自定义),每个字段的。字段60:021(银联扩展字段,终端类型):如字段52(个人密码,8字节二进制)。原创 2025-04-07 11:03:04 · 371 阅读 · 0 评论 -
手把手教你做跨境电商-个人怎么开跨境电商店铺?
个人可以通过Facebook、Instagram、TikTok等社交媒体平台进行商品推广和销售,例如通过发布产品图片、视频、直播等方式吸引潜在客户,并引导他们通过私信或第三方链接进行购买。通过选择合适的平台或模式、进行充分的准备、掌握有效的运营技巧,并注意相关事项,个人创业者仍然可以在跨境电商领域取得成功。根据自身的产品类型、目标市场、运营能力和预算等因素,选择最适合自己的平台或模式。按照平台或模式的要求注册账户,并完善店铺信息,包括店铺名称、简介、联系方式等。原创 2025-01-22 14:05:52 · 364 阅读 · 0 评论 -
手把手教你做跨境电商-搭建广告需要注意的问题
合理预算:根据产品的利润水平和广告目标,制定合适的广告预算,并确保预算的分配能够覆盖到关键广告活动和时间段。广告表现监控:持续监控广告的表现,包括展示量、点击量、转化率、广告支出回报率等指标,以便及时发现并解决问题。多元化内容:多元化、多维度地制定广告内容,包括商品图片、标题、描述和视频等,以提高广告的吸引力和点击率。策略调整:根据广告数据和销售数据,定期调整广告策略,包括关键词、出价、预算、广告内容等方面的调整。动态出价:根据关键词的竞争程度和广告表现,动态调整出价,以优化广告的展示位置和点击成本。原创 2025-01-22 13:55:13 · 63 阅读 · 0 评论 -
手把手教你做跨境电商-转化率的计算方法和提升策略
广告订单转化率:对于通过广告引流的订单,还可以计算广告订单转化率,即广告订单量占广告点击次数的比例。数据准确性:为了准确计算转化率,需要确保使用的数据是准确和可靠的。设置合理的价格:根据产品特点和市场需求,设置合理的价格策略。转化率的计算公式相对直观,它主要基于购买者数量和访问者数量(或订单数量和访问量)来计算。优化产品页面:包括提高产品图片质量、优化产品标题和描述、增加产品视频等,以吸引潜在买家的注意并提升购买意愿。优化广告投放:对于通过广告引流的订单,需要不断优化广告投放策略,提高广告点击率和转化率。原创 2025-01-22 13:52:37 · 682 阅读 · 0 评论 -
支付资损防控指南
1. 前言所有支付公司都对资损(资金损失)看得很重,轻则钱没了,重则舆论风波,要是引起监管介入,更是吃不了兜着走。常在河边走的支付人,如果想少湿鞋,一定要了解资损防控体系建设。资损防控是一个很庞大的体系,本文尝试从实用性着手,化繁为简,原创 2025-01-03 15:51:37 · 97 阅读 · 0 评论 -
图解支付系统整体设计
说明:这是一比较完整的系统架构图,属于逻辑划分。在单体应用中,就是一些模块,在分布式应用中,就是一些子域、子应用或子系统。开放网关:主要对接商户,比如下单、支付等接口入口。通常要求有比较高的安全性。部分公司可能会把移动端网关、PC门户网关、商户通知等能力集成在开放网关,也可能会单独拆出部署。收单结算:负责把商户的单收下来,并给商户发起结算。承担的收单产品包括有:线上收单,线下收单,担保交易、即时到账等,每个公司的商业策略不同,开出的收单产品会有差异。资金产品:承担无买卖标的的纯资金转移能力。转载 2025-01-03 15:47:22 · 130 阅读 · 0 评论 -
图解支付系统的关键设计
监控接口的请求量、成功量、耗时、返回码等。使用固定格式,需要打印:时间、接口名称、结果(成功/失败)、返回码、耗时等基本信息就足够。原创 2025-01-03 15:44:11 · 68 阅读 · 0 评论 -
大图理清支付系统最核心的概念
一图胜千言,希望这精选出来的60张高清大图对大家学习支付系统设计与实现有所帮助。内容主要包括支付系统核心业务,支付流程,结算流程,跨境收单,信息流与资金流,账户设计,记账,对账等。相关的概念大部分做了极致简化,用于入门是极好的,对于理解概念也是够用的。不过真实的实现会复杂非常多。原创 2025-01-03 15:38:23 · 69 阅读 · 0 评论 -
使用Redis 实现延迟任务
延迟任务(Delayed Task)是指在未来的某个时间点,执行相应的任务。也就是说,延迟任务是一种计划任务,它被安排在特定的时间后执行,而不是立即执行。原创 2024-12-18 10:15:51 · 242 阅读 · 0 评论 -
OceanBase 的探索与实践
OceanBase 的表可设计为分区表,每个分区均衡分布到不同的 OBServer 节点上,每个物理分区有一个用于存储数据的存储层对象,叫做 Tablet,Tablet 有多个副本分布在不同的 OBSever 节点,使用日志流(Log Stream)来做数据持久化和副本之间的数据同步,正常情况下主副本提供服务,当主副本故障时会自动切换从副本,从而保证数据的安全性与可用性,一个集群可创建多个互相之间隔离的数据库"实例",叫做租户(Tenant),可为多个独立业务提供服务,租户间数据隔离,降低部署和运维成本。原创 2024-12-06 09:39:26 · 105 阅读 · 0 评论 -
软考架构重点案例分析-大数据架构
在某些复杂的案例中,其实时处理和离线处理的结果不能统一,比如某些机器学习的预测模型,需要先通过离线批处理得到训练模型,再交由实时流式处理进行验证测试,那么这种情况下,批处理层和流处理层不能进行合并,因此应该选择Lambda架构。有些情况下,项目会频繁接触海量数据集进行分析,比如过往十年内的地区降水数据等,这种数据适合批处理系统进行分析,应该选择Lambda架构。Lambda架构需要有一定程度的开发维护成本,包括两套系统的开发、部署、测试、维护,适合有足够经济、技术和人力资源的开发者。原创 2024-11-01 15:32:21 · 60 阅读 · 0 评论 -
软考架构重点笔记-数据库设计建模
提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计。基于数据库系统生命周期的数据库设计可分为如下5个阶段:规划需求分析概念设计逻辑设计物理设计规划规划阶段主要任务是进行建立数据库的必要性以及可行性。确定数据库系统在企业和信息系统中的地位,以及各个数据库之间的联系。需求分析通过调查研究,了解用户的数据和处理要求,并且按一定格式整理形成需求说明书。需求说明书包括:数据库涉及的数据,数据特征,使用频率,数据量估计。概念设计概念设计称为概念结构设计,任务是在需求分析阶段产生原创 2024-10-29 14:09:18 · 104 阅读 · 0 评论 -
软考架构精讲-大数据案例分析
Kappa 流式全量处理,吞吐量相对较低,历史数据处理能力相对较弱。提供一个能满足大数据系统关键特性的架构,包括高容错、低延迟、可扩展。用于同时处理离线和实时数据,可容错的、可扩展的分布式系统。Kappa 只需要维护一套系统,复杂度低、开发维护成本低。Lambda 批式全量处理,吞吐量大,历史数据处理能力强。Lambda 需要一直运行批处理和实时计算,计算开销大。Lambda需要维护两套系统,复杂度高、开发维护成本高。具备强鲁棒性,提供低延迟和持续更新。分为三层:批处理层、加速层和服务层。原创 2024-10-28 16:37:33 · 177 阅读 · 0 评论 -
向量化如何提高数据库性能
在深入研究StarRocks如何实现向量化之前,有一点很重要:当谈论向量化时,谈论的是使用现代CPU架构的数据库的向量化。随着数据量的增长、数据源的扩展和用户期望的提高,数据工程师的角色在未来几年只会变得更加重要。对StarRocks的目标是,与其他市场领先的产品(具有相同的硬件配置)相比,性能提高5倍。如果已经很好地理解了向量化,那么可以跳过这一节,然后转到关于数据库向量化的一节,但是如果不熟悉向量化的基础知识,或者可能需要复习一下,那么将简要概述应该知道的内容。以下是需要关注的7个最重要的优化领域。原创 2024-10-23 10:00:51 · 64 阅读 · 0 评论 -
SQL 中查找重复数据的四种方法
数据库中的重复数据可能导致存储成本增加、查询性能下降、分析结果不准确以及数据管理混乱。本文概述了四种 SQL 技术来检测和处理这些重复数据:使用GROUP BY和HAVING识别重复行的分组,采用诸如ROW_NUMBER()的窗口函数进行高效分析,利用EXISTS操作符检查特定的重复条件,以及执行自连接以比较同一表中的行。本文还讨论了某些方法需要唯一标识符的必要性,并提供了针对大表的优化技术,例如索引和分区。最后,展示了如何使用公共表表达式(CTE)结合 ROW_NUMBER() 函数删除重复行。原创 2024-10-17 13:45:38 · 607 阅读 · 0 评论 -
软考架构精讲-数据库设计
【代码】软考架构精讲-数据库设计。数据库基础知识:包括数据库的概念、关系型数据库和非关系型数据库的特点、数据库的范式等。SQL语言:包括SQL的基本语法、数据查询、数据操作、数据定义等。数据库设计:包括数据库的范式设计、表的关系建立、索引的使用等。数据库优化:包括查询优化、索引优化、存储优化等。数据库事务和并发控制:包括事务的特性、隔离级别、并发控制方法等。数据库备份和恢复:包括备份和恢复策略、备份和恢复工具的使用等。数据库安全:包括数据库的权限管理、数据加密、防止SQL注入等。原创 2024-10-09 11:03:53 · 212 阅读 · 0 评论 -
Redis数据持久化:RDB与AOF详解及数据恢复应用
Redis的RDB和AOF持久化机制各有特点和用途。RDB适用于对性能要求高、数据恢复精度要求不高的场景,而AOF则适用于数据一致性要求较高的场景。在实际应用中,建议根据具体需求选择合适的持久化方式,甚至可以同时使用两者来确保数据的安全性和完整性。随着Redis版本的不断更新,还引入了混合持久化模式,将RDB和AOF的优势结合,进一步提高了数据持久化的效率和安全性。原创 2024-09-29 10:53:09 · 450 阅读 · 0 评论 -
Java 编程高效实现大对象的Entity、VO、DTO互转与代码优化
Entity:实体类,通常与数据库表结构对应,用于ORM映射。VO:视图对象,用于展示层,可能包含多个Entity的组合,或者部分Entity字段。DTO:数据传输对象,用于远程调用,如Web服务,通常包含业务逻辑所需的数据集。通过使用ModelMapper或MapStruct,我们可以轻松实现Entity、VO、DTO之间的转换,减少手动编码的工作量和出错率。同时,利用Lombok可以自动生成get/set方法,进一步提升开发效率和代码的可维护性。原创 2024-09-27 15:44:06 · 521 阅读 · 0 评论 -
如何处理 MQ 消费失败的消息?
再次回顾一下当时提过的问题,为何项目中要引用 MQ 消息中间件?我们知道,在电商平台中常见的用户下单,会经历以下几个流程。当用户下单时,创建完订单之后,会调用第三方支付平台,对用户的账户金额进行扣款,如果平台支付扣款成功,会将结果通知到对应的业务系统,接着业务系统会更新订单状态,同时调用仓库接口,进行减库存,通知物流进行发货!图片试想一下,从订单状态更新、到扣减库存、通知物流发货都在一个方法内同步完成。原创 2024-09-23 14:31:19 · 225 阅读 · 0 评论 -
MySQL中的update操作与锁机制详解
在更新数据时,我们可以增加库存校验或其他版本号字段校验,从而实现乐观锁的效果。操作时,系统确实会自动加锁,以确保数据的完整性和一致性。同时,结合乐观锁和版本号控制等策略,我们可以进一步优化系统的并发性能。A线程提交事务,线程B才继续执行,此时库存已经没了,线程B就会更新 0 行,说明库存大于 0 的数据已经没有了。线程A事务还没提交的,线程B也对改福利码进行扣库存操作,就会被阻塞,直到线程A提交了,可以看到线程B在阻塞着。然而,在面对高并发场景时,我们是否曾思考过:多个。例如,在上面的案例中,我们在。原创 2024-09-20 17:39:02 · 225 阅读 · 0 评论 -
Redis实现延迟任务的操作流程
延迟任务(Delayed Task)是指在未来的某个时间点,执行相应的任务。也就是说,延迟任务是一种计划任务,它被安排在特定的时间后执行,而不是立即执行。发送定时短信、邮件或应用内消息,如注册确认、订单状态更新、促销活动通知等。定时推送新闻、天气预报、股票价格等实时信息。将耗时的操作安排为延迟任务,避免阻塞主线程或用户界面,提高系统的响应性能。执行批量数据处理,如日志分析、数据报表生成等。缓存管理和过期处理:定时清理过期的缓存数据,释放存储空间。更新缓存中的数据,保持数据的时效性和准确性。原创 2024-09-10 09:47:21 · 821 阅读 · 0 评论 -
Ballerina开发敏捷的ETL流程
为了在整个组织保持信息的一致性,并从这些数据中获得业务洞察力,从这些分散的数据源中提取必要的细节并保持所有的相关信息集中化就显得至关重要。最后,数据加载阶段的任务需要连接不同的目标系统,并通过所需的协议发送数据。提取、转换和加载(ETL)技术侧重于这个问题:从多个数据源提取数据,将提取到的数据转换成所需的格式,最后将其加载到相关的数据存储或系统中。在实际的实现中,可以根据可扩展性、开发团队和预期的可扩展性需求等因素,确定是将ETL任务作为单独的微服务来实现,还是将多个任务组合成单个微服务。原创 2024-09-09 10:03:10 · 406 阅读 · 0 评论 -
Redis分布式锁的三种方式,实现Java高并发编程
总之,选择使用纯Redis、Lua还是Redisson,很大程度上取决于应用程序的具体要求、对Redis和Lua的熟悉程度以及可以接受的抽象级别。原创 2024-09-04 14:27:12 · 477 阅读 · 0 评论 -
探讨Web层缓存与Redis应用的挑战与对策
Web层缓存显著提高了应用性能,通过减少重复的数据处理和数据库查询来加快响应时间。Redis作为高效的内存数据结构存储系统,在实现缓存层中发挥了重要作用,它支持各种数据结构,能够迅速存取数据,从而减少数据库负担,提升用户体验。然而,缓存机制也面临挑战,如缓存穿透、缓存击穿和缓存雪崩等问题。缓存穿透通过缓存空对象和布隆过滤器来解决,前者避免了每次查询都访问数据库,后者有效减少了恶意请求的影响。缓存击穿则通过设置随机过期时间来缓解,这样可以避免大量请求同时涌向数据库。原创 2024-09-01 16:26:41 · 272 阅读 · 0 评论 -
Redis全体系:基础、高级特性与性能调优
Redis的内存管理和数据淘汰机制是其高性能的关键。通过合理选择数据结构、编码方式,以及设置合适的淘汰策略,可以有效地优化Redis的内存使用,提高系统的稳定性和性能。在日常使用中,定期监控Redis的内存使用情况,并根据实际需要调整配置,可以防止内存耗尽导致的系统崩溃。原创 2024-08-29 13:55:53 · 292 阅读 · 0 评论 -
RocketMQ结合实际场景顺序消费
为了保证消息的顺序性,我们必须保证同一个消息队列在同一时刻只能被消费者组内一个消费者消费,从负载均衡方面,向Broker发起锁定该消息队列的请求,上锁成功则新建一个拉取任务PullRequest,从消息消费方面,批量拉取消息成功后,进行提交消费请求,消息提交到内部的线程池,为了保证消息的顺序性,我们必须为消费队列上锁,来保证同一时刻消费队列只会被线程池中的一个线程消费。原创 2024-08-23 14:39:32 · 112 阅读 · 0 评论 -
Redis内存碎片:深度解析与优化策略
redis会申请不同大小的内存空间来存储不同业务不同类型的数据,由于内存按照固定大小分配且会比实际申请的内存要大一些,这个过程中会产生内存碎片。每个范围内又划分了许多小的内存块单位,存储数据的时候,会选择大小最合适的内存块进行存储。也就是说Redis是以指定大小的块为单位进行连续内存分配的,而不是按需分配的,Redis 会根据申请的内存最接近的固定值分配相应大小的空间。总结来说:当数据不断删除和新增时,内存中空出的位置可能无法完全匹配新数据的大小,导致产生未被利用的“碎片”空间,这就是内存碎片。原创 2024-08-13 10:04:03 · 127 阅读 · 0 评论 -
MySQL读取100w数据进行优雅处理
当查询百万级的数据的时候,还可以使用游标方式进行数据查询处理,不仅可以节省内存的消耗,而且还不需要一次性取出所有数据,可以进行逐条处理或逐条取出部分批量处理。如果没有流式查询,我们想要从数据库取 100w 条记录而又没有足够的内存时,就不得不分页查询,而分页查询效率取决于表设计,如果设计的不好,就无法执行高效的分页查询。对大量数据进行处理时,为防止内存泄漏情况发生,也可以采用游标方式进行数据查询处理。使用流式查询,则要保持对产生结果集的语句所引用的表的并发访问,因为其查询会独占连接,所以必须尽快处理。原创 2024-08-12 13:32:12 · 307 阅读 · 0 评论 -
Redis基础知识典藏版:架构设计、功能特性、应用场景、操作命令
Redis 作为一种高性能的内存数据库,具有多种功能特性和广泛的应用场景。通过了解 Redis 的演进过程、架构设计、数据类型和操作命令,结合腾讯云数据库 Redis 的实际应用,开发者可以更好地利用 Redis 来构建高性能、高可用的应用系统。无论是缓存、会话存储、实时消息系统还是排行榜系统,Redis 都能提供强大的支持,满足各种复杂业务需求。原创 2024-08-07 10:10:00 · 169 阅读 · 0 评论 -
【大数据】提升SQL Query性能的5个技巧
优化SQL查询需要了解查询的特定需求和数据结构。如果避免SELECT *、谨慎使用SELECT DISTINCT、限制查询结果、创建适当的索引以及注意索引方面的取舍,你就可以显著提升数据库操作的性能和效率。原创 2024-08-06 09:39:42 · 154 阅读 · 0 评论 -
MySQL内核的SQL限流设计与实现
生产环境中可能出现由于业务量增长过快或者慢SQL等原因导致CPU使用率打满,当CPU打满时,会影响所有依赖该数据库实例的业务,因此需要有手段限制影响CPU的业务执行,保证其他核心业务不受影响。SQL限流的目标是在出现CPU使用率打满影响所有业务时,通过限制非核心业务或者慢SQL的业务,实现核心业务的快速恢复。本文详细描述了基于MySQL内核的SQL限流功能的整体架构、主要功能模块等关键要素。SQL限流的设计与实现基于原生MySQL的执行原理与字符串匹配规则实现。原创 2024-08-05 09:47:40 · 227 阅读 · 0 评论 -
Flink支持的增量连接组件详解
代码地址:https://github.com/apache/flink-cdc/tree/master/flink-cdc-connectFlink CDC (Change Data Capture) Connect 是 Apache Flink 提供的一组连接器,专门用于捕获和处理数据库中发生的数据变化。Flink CDC 通过实时监控数据库的变更,能够将数据变更事件流化,从而实现高效的数据集成、同步和处理。这些连接器可以与 Flink 的流处理引擎无缝集成,用于构建实时数据管道和数据处理应用。原创 2024-08-05 09:29:16 · 221 阅读 · 0 评论