自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(182)
  • 收藏
  • 关注

原创 灵活管理 JWT:临时开放接口访问与密码修改后的令牌失效

无论是临时开放接口访问还是在用户修改密码后使旧令牌失效,都需要根据具体业务需求选择合适的实现方案。通过合理设计系统架构和引入必要的安全机制,可以在保证用户体验的同时确保系统的安全性。希望这篇文章能帮助你深入理解。

2025-08-04 14:22:49 202

原创 保护 JWT:防止篡改、泄露与令牌劫持攻击

通过合理配置 JWT 的签名算法、加密敏感信息、设置合理的过期时间以及妥善管理签名密钥,可以显著提升 JWT 的安全性。此外,启用 HTTPS、使用 HttpOnly Cookie、实施令牌黑名单机制等措施也能有效防范令牌劫持攻击。

2025-08-04 14:16:25 720

原创 深入探讨 JWT:令牌过期处理与刷新令牌机制

刷新令牌是一种特殊的令牌,专门用于从授权服务器获取新的访问令牌。

2025-08-03 14:02:43 838

原创 深入理解 JWT:结构、签名与分布式场景下的优势

在现代 Web 应用中,身份验证是确保用户数据安全的关键环节。**JSON Web Token(JWT)**作为一种轻量级的身份验证机制,在微服务架构和单页应用(SPA)中越来越受欢迎。本文将详细探讨 JWT 的结构及其各部分的作用,并对比 JWT 和 Session 在分布式场景下的优缺点,帮助你全面理解 JWT 的工作原理及适用场景。

2025-08-03 13:56:18 655

原创 Sentinel 规则动态更新与配置中心集成:实现高可用流量控制

在 Nacos 中,规则以 JSON 格式存储。

2025-08-02 20:55:46 683

原创 限流、降级、熔断在项目中分别应用于哪些具体场景?三者的触发条件有何不同?

通过合理配置这些机制的触发条件,并结合监控和报警系统,可以有效提升系统的容错能力和抗压能力,确保在面对突发流量或故障时依然能够平稳运行。它们各自针对不同的问题场景,并且有明确的触发条件。下面我们将详细探讨这三种机制的应用场景及其触发条件。降级是一种容错手段,当某个服务出现故障或响应缓慢时,返回默认值或友好提示,避免影响用户体验或其他服务正常运行。熔断机制用于防止系统因单个服务故障而引发雪崩效应,它会暂时切断有问题的服务调用链路,待其恢复正常后再重新启用。限流主要用于控制请求速率,防止系统过载或资源耗尽。

2025-08-02 20:47:02 697

原创 为什么选择 Sentinel?——在 Go 与 Gin 框架中实现流量控制的最佳实践

本文将深入探讨为什么在基于 Go 语言与 Gin 框架 的项目中选择 Sentinel 而不是其他工具(如 Hystrix、Resilience4j),并详细介绍其在实际项目中的应用优势。

2025-08-02 20:43:05 433

原创 高并发秒杀系统设计:基于 Redis + MySQL 的多级锁与两阶段库存扣减方案

本文将详细介绍我在一个电商项目中为 库存服务(inventory_srv) 设计并实现的高并发秒杀系统,重点解决 数据一致性与高并发稳定性 问题。

2025-08-01 14:03:44 856

原创 构建高可用微服务通信层:基于 Go + gRPC 的服务架构设计与实现

/ 请求前:记录日志// 执行业务逻辑// 请求后:统计耗时解耦通用逻辑与业务代码,减少重复代码,提升可维护性。4. 服务注册与发现:集成 Consul为实现多实例部署下的高可用与负载均衡,需将 gRPC 服务注册到服务发现中心。

2025-08-01 12:24:50 1006

原创 构建高可用电商系统:基于 Gin + Sentinel 的流量控制与容错机制

通过结合 Nacos 实现 Sentinel 规则的热更新,能够在不重启服务的情况下动态调整限流、熔断、降级等策略,极大提升了系统的灵活性和可维护性。实现规则的动态配置,进一步增强了系统的灵活性和适应性。这种设计方案不仅提升了系统的性能和稳定性,还为未来的扩展和优化奠定了坚实的基础。在现代电子商务应用中,面对突发的流量高峰(如促销活动、秒杀等),如何确保系统的稳定性和可靠性是至关重要的。经过实际测试,该方案显著提升了系统在流量峰值下的稳定性,抗峰值能力提升了 40% 以上,有效降低了服务雪崩的风险。

2025-07-31 16:11:09 1055

原创 构建高效电商搜索系统:Elasticsearch + MySQL 双写同步方案详解

通过结合。

2025-07-31 15:58:07 971

原创 政策法规:AI的监管与伦理边界

AI 技术带来了前所未有的机遇,同时也带来了新的伦理与监管挑战。如何平衡技术创新与社会责任,确保 AI 的发展既符合技术进步的需求,又不会侵犯基本伦理和人权,是全球各国面临的重要问题。随着政策法规的不断完善,AI 监管将朝着更加透明、公平、可控的方向发展,为技术创新和社会进步提供保障。

2025-07-30 20:31:26 749

原创 AI创业趋势与产品思维:如何从0打造AI产品

从零开始打造一款 AI 产品并非易事,但随着技术的进步和工具的普及,创业者有了更多的机会与资源去构建创新的 AI 产品。通过准确识别市场需求、选择合适的技术工具、快速原型和迭代,你可以实现从零到一的 AI 创业梦想。本篇文章介绍了 AI 创业的趋势、如何从零开始打造 AI 产品的过程,以及 AI 创业的挑战与解决方案。如果你有更多问题或建议,欢迎在评论区留言!

2025-07-30 20:17:24 739

原创 构建高可用微服务:gRPC 重试机制的设计与实践

gRPC 重试机制是构建高可用微服务不可或缺的一环。它通过拦截器方式优雅地实现了对瞬时故障的自动恢复,在。

2025-07-30 13:53:50 883

原创 OpenTracing 分布式追踪规范标准详解

对于开发者而言,理解 OpenTracing 的核心概念(Trace、Span、Baggage)和应用场景,是构建高效微服务系统的关键一步。,旨在为分布式系统中的请求链路追踪提供统一的 API 和工具支持。它最初由 LightStep、Uber、Yelp 等公司联合发起,目的是解决不同分布式追踪工具(如 Jaeger、Zipkin、Dapper 等)之间接口不一致的问题,降低开发者在微服务架构中实现链路追踪的复杂性。

2025-07-29 20:21:38 948

原创 一文搞懂什么是配置热更新

配置热更新 = 让系统变得更“聪明”和“灵活”,能在不停机的情况下适应变化,是高可用、高敏捷微服务架构的标配能力。项目中用 Consul 实现这个功能,是非常标准且有价值的实践,并且值得在简历和面试中重点强调!

2025-07-29 20:18:49 498

原创 API 网关如何通过服务发现实现动态路由,自动把请求转发到正确的微服务?

层级配置项作用是否需要手动配置1. 路由层Route (/goods匹配 URL 路径✅ 需要(一次)2. 服务层Service (指向 Consul 中的服务名✅ 需要(一次)3. 发现层Consul (存储真实 IP 列表❌ 自动注册/更新✅优势总结:解耦:Kong 不关心 IP,只关心“服务名”动态:实例增减,自动感知可维护:新增服务只需加 Route + Service,无需改代码高可用:结合健康检查,自动剔除不健康实例。

2025-07-29 20:13:24 1157

原创 Redis 分布式锁在集群环境中的挑战与 RedLock 解决方案

Redis 集群环境下的分布式锁选择,本质是一致性与性能的权衡方案适用场景优势劣势单节点锁低并发、非核心业务简单、高性能无容错能力,单节点故障即失效主从锁中低并发、允许短暂不一致兼顾可用性和性能主从切换可能导致锁丢失RedLock高并发、数据强一致场景抗故障能力强,互斥性好性能开销大,部署复杂先用主从架构 + 合理的重试机制解决 80% 的场景对核心业务(如订单支付、库存扣减)引入 RedLock 保障一致性。

2025-07-28 09:02:11 714

原创 Redis 分布式锁深度解析:如何防止锁被其他协程误删

防止锁被其他协程误删,本质上是解决 "锁的归属权验证" 问题。唯一标识原则:每个锁必须有唯一的 value,作为持有者的身份凭证原子操作原则:释放锁时的 "验证 + 删除" 必须是原子操作,Lua 脚本是最佳选择最小权限原则:只有锁的持有者才能释放锁,任何情况下都不允许越权操作在实际开发中,建议直接使用经过验证的开源库(如 Redisson、go-redsync),它们已经妥善处理了这些安全细节。

2025-07-28 08:57:30 698

原创 Redis 分布式锁深度解析:过期时间与自动续期机制

过期时间设置原则必须大于业务正常执行时间的 P99 值不宜过长(建议不超过 30 秒),避免异常情况下的锁阻塞根据业务特性动态调整,而非固定值自动续期实现要点采用 "1/3 过期时间" 作为续期间隔续期操作必须使用 Lua 脚本保证原子性续期协程必须能被正常终止,避免资源泄露风险防控措施给业务逻辑设置超时控制限制最大续期次数对超长持有时间的锁进行监控告警生产环境建议优先使用成熟框架(如 Redisson for Java,go-redsync for Go)

2025-07-27 20:51:09 1280 1

原创 深入理解 Redis 分布式锁:源码解析-setnx的作用

Redis 分布式锁的核心是通过SET NX PX命令实现原子性的 "抢锁",并通过 Lua 脚本保证释放锁的安全性。SETNX(或SET NX)是实现锁的基础,解决了并发抢锁的原子性问题必须给锁设置过期时间,避免死锁释放锁时需通过唯一标识 + Lua 脚本,防止误删其他客户端的锁实际应用中需考虑超时、可重入性、集群一致性等进阶问题掌握这些原理后,再去阅读 Redisson 等框架的源码,就能更清晰地理解其设计思路。

2025-07-27 20:45:50 1120

原创 敏捷开发:从 “瀑布困境” 到 “灵活响应” 的开发哲学

从瀑布模型的 “闭门造车” 到敏捷开发的 “开放协作”,本质是软件开发从 “工业思维” 向 “服务思维” 的转变 —— 软件的核心价值是 “解决用户问题”,而非 “遵循固定流程”。用 “小步快跑” 降低试错成本;用 “持续沟通” 消除信息壁垒;用 “拥抱变化” 适应真实世界。记住:没有最好的开发模式,只有最适合的模式。理解敏捷的本质,灵活运用其工具和方法,才能让团队在复杂多变的开发环境中稳步前行。

2025-07-26 21:23:07 912

原创 AI+医疗、金融、法律的典型案例

AI 在医疗、金融和法律行业的应用已经展现出巨大的潜力。通过具体的案例,我们看到了 AI 如何提升行业效率、降低成本并改善服务质量。未来,随着技术的不断发展,AI 将进一步融入这些行业,推动它们朝着更加智能、精准和个性化的方向发展。本篇文章介绍了 AI 在医疗、金融和法律领域的典型应用案例,帮助你了解这些行业中 AI 技术的实际影响。如果你对这些案例有兴趣或想了解更多,欢迎在评论区留言!

2025-07-26 21:16:24 829

原创 AI在教育行业的应用与前景

AI 在教育行业的应用前景广阔,它将深刻改变教育的方式和内容。从个性化学习到自动化教学、从智能答疑到虚拟教师,AI 正在推动教育向更高效、精准、个性化的方向发展。尽管面临技术、伦理和隐私等挑战,但随着技术的不断成熟和普及,AI 在教育领域的前景无疑是充满希望的。

2025-07-26 21:09:38 713

原创 微服务高可用三板斧:限流、降级、熔断详解

限流:守护系统 “入口”,防止流量洪峰压垮资源。降级:权衡 “功能取舍”,保障核心业务的连续性。熔断:隔离 “故障传播”,快速失败避免雪崩。三者并非孤立,而是协同工作,构建微服务的高可用防护网。在实际项目中,结合 Sentinel、Hystrix、Spring Cloud 等工具,可快速落地这些策略,让系统在高负载、故障下仍能稳定运行。(拓展思考:如何通过监控系统联动三板斧?比如限流触发后,自动调整降级策略;熔断后,通知运维自动扩容。这需要更深入的体系化建设~)

2025-07-25 21:12:10 759 1

原创 微服务高可用保障:分布式链路追踪(Distributed Trace)详解

在微服务架构中,分布式 Trace 不是可选功能,而是必备的高可用保障。快速定位问题,减少 “甩锅大战”;优化性能,提升系统稳定性;加速团队协作,让开发、测试、运维高效协同。无论是小团队的初创项目,还是大厂的复杂系统,都值得尽早落地分布式 Trace。毕竟,谁也不想再经历 “一上午 Debug 找不到问题” 的崩溃时刻~(拓展思考:除了链路追踪,微服务高可用还需要限流、降级、熔断等手段。后续我们再聊聊这些方案如何配合,构建完整的高可用体系~)

2025-07-25 21:05:51 967

原创 开源模型推荐:Mistral、LLaMA、Gemma 等

Mistral、LLaMA 和 Gemma 是当前最受关注的开源大语言模型,它们在不同的应用场景中展现了强大的能力。Mistral 注重高效性和灵活性,LLaMA 强调多语言处理,而 Gemma 则以其高效的文本生成能力受到关注。选择合适的开源模型,将有助于加速 AI 项目的开发与实现。本篇文章介绍了 Mistral、LLaMA 和 Gemma 等开源模型的特点、应用和使用场景,帮助你理解这些模型如何在不同任务中提供强大的支持。如果你有更多问题,欢迎在评论区留言!

2025-07-25 20:48:08 911

原创 如何用 LangChain 构建 AI 应用

LangChain 提供了一个强大的工具,使得基于大语言模型的应用开发变得更加简便。通过创建链、集成外部工具,你可以快速构建出适应不同场景的 AI 应用。无论是自动化问答、内容生成,还是数据分析,LangChain 都能帮助你将大语言模型应用于实际业务场景中。

2025-07-24 20:28:34 742

原创 分布式系统幂等性机制全解析:从概念到实践

幂等性(idempotent)起源于数学,指 “对同一操作重复执行,结果与单次执行一致”。在编程中,幂等方法 / 接口的特点是:使用相同参数重复调用,不会改变系统状态,或改变的状态与单次调用完全相同。price=200(全量更新商品价格,多次调用结果一致 )。(购物车商品数量 +1,多次调用会持续累加 )。幂等性与 “分布式 / 高并发” 无关:核心是 “操作本身是否幂等”。即使是单体系统,若存在重试、重复提交,也需设计幂等逻辑。业务优先:幂等性需结合业务场景设计。

2025-07-24 20:17:34 1234

原创 分布式服务雪崩与 gRPC 超时重试幂等性解析

服务雪崩效应,是因服务提供者不可用,引发服务调用者不可用,并不断放大不可用范围的恶性现象。比如 A 是服务提供者,B 调用 A,C、D 调用 B,当 A 故障,B 因依赖 A 不可用,C、D 也会受牵连,像多米诺骨牌般让故障范围蔓延。服务雪崩是分布式系统的 “大敌”,需从成因入手,用扩容、流控、熔断等策略构建防护网;gRPC 的超时、重试、幂等性,则是保障服务调用可靠的 “三驾马车”。理解并实践这些内容,才能让分布式服务更稳定、高效,从容应对高并发与故障挑战。

2025-07-24 20:12:18 716

原创 分布式事务解决方案:最大努力通知详解

最大努力通知是一种轻量级、柔性的分布式事务方案,核心逻辑是 “通知重试 + 主动校对”。它放弃了强一致性,通过 “尽最大努力 + 兜底查询” 实现最终一致,非常适合交易结果通知类场景。理解它与可靠消息一致性的区别后,面对支付回调、物流通知等需求,就能快速判断是否用最大努力通知简化实现,同时通过 MQ 重试和主动校对保证结果不丢失。(拓展思考:如果接收方长期宕机,如何避免通知重试风暴?可以结合 “通知次数上限 + 熔断机制”,达到上限后暂停重试,转为定时校对~ )

2025-07-23 20:55:30 838

原创 怎么训练一个自己的AI小模型(Fine-tune or LoRA)

训练自己的小模型不再是遥不可及的梦想。通过微调(Fine-tuning)或 LoRA 技术,你可以在大规模预训练模型的基础上,快速适应特定任务,并高效地使用资源。无论是文本生成、情感分析还是语音识别,微调和 LoRA 都为个性化的 AI 模型训练提供了有力支持。本篇文章介绍了如何使用 Fine-tune 和 LoRA 来训练自己的小模型,帮助你理解这两种方法的原理与应用。如果你有任何问题,或者想了解更多细节,欢迎在评论区留言!

2025-07-23 20:43:30 712

原创 Transformer、GPT、BERT 到底啥区别?

Transformer、GPT 和 BERT 都是当前 NLP 领域最重要的模型,它们在架构、训练方法和应用上有所不同。Transformer 提出了强大的自注意力机制,GPT 专注于自回归文本生成,而 BERT 则通过双向训练提升了语言理解能力。随着这些模型的不断优化和创新,它们在各类自然语言处理任务中都取得了巨大的成功。本篇文章深入对比了 Transformer、GPT 和 BERT 的原理及区别,希望你能够通过本篇了解这三者在 NLP 中的应用。

2025-07-23 20:39:05 460

原创 大语言模型原理简解(LLM)

大语言模型(LLM, Large Language Models)是当前人工智能领域最为热门的技术之一。它们基于深度学习,能够理解和生成自然语言,广泛应用于文本生成、自动翻译、聊天机器人等领域。与传统的自然语言处理模型不同,大语言模型具有超强的文本生成能力和上下文理解能力,能够完成复杂的语言任务。本文将带你走进大语言模型的世界,介绍其基本原理、训练方法及其应用。大语言模型(LLM)是人工智能领域的重要突破,广泛应用于文本生成、翻译、问答系统等多个领域。

2025-07-22 20:24:24 769

原创 分布式事务:基于 RocketMQ 可靠消息,实现最终一致性

基于 RocketMQ 的可靠消息方案,本质是“本地消息表的 MQ 化”—— 把消息持久化、重试、回查逻辑交给 MQ,简化了业务开发。它的核心优势是“最终一致性 + 低侵入性”:只需关注本地事务和消费逻辑,MQ 自动处理消息状态、回查、重试。适合依赖 MQ 生态的项目,尤其是阿里系技术栈(如 Dubbo + RocketMQ)。理解这套流程后,面对跨服务事务需求,就能判断是否用 RocketMQ 事务消息兜底,或结合 TCC、Saga 等方案实现更复杂的一致性要求。

2025-07-22 20:11:53 1036

原创 分布式事务解决方案:本地消息表,实现最终一致性

本地消息表是“最终一致性” 的经典实践对实时性要求不高(如积分、通知、物流状态同步)。业务逻辑简单,不想引入复杂分布式事务框架。高并发场景,但能通过优化(如分库分表、异步落库)缓解数据库压力。它的核心逻辑是“本地事务保证业务 + 消息的一致性,异步重试保证最终一致”。理解这套思路后,面对 “跨服务数据同步” 需求,就能快速判断是否适用本地消息表,或结合其他方案(如 TCC + 本地消息表兜底)。(拓展思考:如果消息表数据量极大,如何设计归档策略?定时任务扫描效率低,有没有更高效的消息投递方式?

2025-07-22 20:11:48 1056

原创 AI 与大数据的结合:数据驱动的智能决策

体量大(Volume):数据量巨大,远超传统数据处理方式的存储与处理能力。种类多(Variety):包括结构化、半结构化、非结构化数据,涵盖文本、图像、音频、视频等多种形式。速度快(Velocity):数据生成的速度快,实时性要求高。价值高(Value):大数据本身包含着巨大的潜在价值,通过挖掘和分析,可以提供重要的商业、科技或社会洞察。推荐链接大数据简介图示:大数据的 4V 特征图解:大数据的四个基本特征,包括体量大、种类多、速度快和价值高。AI 与大数据的结合为各行各业提供了强大的智能决策支持。

2025-07-21 15:25:35 1029

原创 计算机视觉的基本原理

本篇文章介绍了计算机视觉的基本原理、深度学习在图像识别中的应用以及其在实际场景中的广泛应用。随着深度学习和计算能力的提升,计算机视觉技术将在更多领域发挥重要作用,推动智能化时代的发展。

2025-07-21 15:13:21 1019

原创 分布式事务解决方案:TCC 分布式事务解析

TCC 分布式事务通过 Try、Confirm、Cancel 三个阶段的协调,实现了跨服务业务操作的原子性。先通过 Try 操作检查业务可行性并锁定资源如果所有 Try 操作都成功,通过 Confirm 操作完成最终业务如果任何 Try 操作失败,通过 Cancel 操作回滚所有预备操作TCC 特别适合那些对数据一致性要求高,且需要跨多个服务协同完成的业务场景。虽然它增加了开发成本和复杂度,但相比其他分布式事务解决方案,它在性能和灵活性方面具有明显优势。

2025-07-21 11:18:01 1007

原创 分布式事务解决方案:两阶段提交(2PC)深度解析

2PC 是分布式事务的经典尝试,它用 “两阶段” 拆解复杂的一致性问题,思路值得学习。但缺点也很明显,尤其是性能和故障恢复的问题,让它在实际场景中常被 “嫌弃”。不过,理解 2PC 后,再去学 TCC、Saga 等其他分布式事务方案,会更清晰 —— 它们本质是在 2PC 基础上,优化性能、容错性,做各种 “妥协” 和 “补充”。学分布式事务,2PC 是绕不开的 “第一课”。

2025-07-21 10:58:53 929

### Go语言Go面试题整理:核心知识点解析与实战技巧

内容概要:本文档《Go 面试题持续整理中.docx》涵盖了一系列 Go 语言的核心概念和技术要点,通过问答形式详细解析了 Go 语言的基础语法、内存管理、并发机制、垃圾回收、数据结构、网络编程等方面的知识。文档不仅解释了基本概念,如指针、多返回值、协程(Goroutine)、rune 类型、map 操作、defer 机制等,还深入探讨了高级主题,如 CSP 并发模型、GMP 调度器、内存逃逸分析、垃圾回收算法、Epoll 原理、微服务架构设计等。此外,文档还介绍了 Go 语言的内存管理和优化技巧,如栈空间管理、互斥锁机制、数据竞争检测等。文档内容详尽,适合开发者深入理解和掌握 Go 语言的关键技术和最佳实践。 适合人群:具备一定编程基础,特别是对 Go 语言感兴趣的开发者,尤其是工作 1-5 年的研发人员。 使用场景及目标:①帮助开发者理解 Go 语言的核心概念和语法细节;②为面试准备提供全面的知识点覆盖;③指导开发者在实际项目中应用 Go 语言的最佳实践,如并发编程、内存管理、网络编程等。 其他说明:文档内容丰富且深入,不仅适合初学者入门学习,也适合有一定经验的开发者进一步巩固和提升技能。建议读者结合实际项目进行实践,以加深对 Go 语言的理解和应用。

2025-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除