- 博客(320)
- 资源 (7)
- 问答 (4)
- 收藏
- 关注
原创 分布式事务在分片场景下,TCC和Seata到底怎么选?一线实战全解析!
在分片场景下实现分布式事务,TCC和Seata各有优势。记住这三点:TCC适合高性能、复杂业务场景Seata适合快速开发、简单业务场景设计时要考虑补偿逻辑的幂等性分布式事务是分片架构的"硬骨头",设计时一定要深思熟虑,宁可多花时间设计,也不要上线后再改!关注服务端技术精选,获取更多后端实战干货!你在分布式事务实现上踩过哪些坑?欢迎在评论区分享你的故事!
2025-08-08 13:57:24
754
原创 分片键选错了,你的数据库分片就是“灾难现场“!
分片键就是决定数据分配到哪个分片的字段。比如用户表按user_id分片,订单表按order_id分片,这就是分片键。-- 按创建时间分片,结果数据严重倾斜id BIGINT,-- 其他字段-- 大错特错!-- 按用户ID分片,数据分布相对均匀id BIGINT,-- 其他字段-- 这样才对!分片键选择是数据库分片设计的核心,选错了就是"灾难现场"。记住这三点:高基数 + 业务关联 + 稳定性 = 好的分片键路由规则要简单高效,避免过度设计分片设计要考虑未来3-5年的业务增长。
2025-08-08 13:40:07
605
原创 熔断器+重试机制,微服务容错的终极武器?一线设计实战全解析!
熔断器和重试机制是微服务容错的核心组件,需要根据业务特点、性能要求、可用性需求等因素综合考虑。合理的设计和配置能够有效提升系统的稳定性和用户体验。关注服务端技术精选,获取更多后端实战干货!你在微服务容错设计中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-08-06 14:12:20
345
原创 Eureka vs Consul,服务注册发现到底选哪个?性能对比深度解析!
Eureka和Consul各有优势,需要根据业务特点、性能要求、功能需求等因素综合考虑。合理的选型和配置能够有效提升系统的稳定性和性能。关注服务端技术精选,获取更多后端实战干货!你在服务注册发现中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-08-05 17:41:08
944
原创 微服务拆分粒度,拆得太细还是太粗?一线架构师实战指南!
微服务拆分粒度是微服务架构设计的核心问题,需要综合考虑业务、技术、组织等多方面因素。合理的拆分策略能够有效提升系统的可扩展性、可维护性和开发效率。关注服务端技术精选,获取更多后端实战干货!你在微服务拆分中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-08-05 15:18:06
235
原创 消息重复消费+顺序性,分布式消息的终极难题?一线解决方案全解析!
消息重复消费和顺序性保障是分布式消息系统的核心问题,需要根据业务特点选择合适的解决方案。合理的实现和配置能够有效保证数据一致性和业务逻辑正确性。关注服务端技术精选,获取更多后端实战干货!你在消息重复消费和顺序性保障中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-08-01 18:51:01
510
原创 RabbitMQ vs RocketMQ,消息堆积了怎么办?一线解决方案全解析!
RabbitMQ和RocketMQ在消息堆积处理上各有优势,需要根据业务特点选择合适的方案。合理的配置和优化能够有效解决消息堆积问题,保证系统的稳定性和可靠性。关注服务端技术精选,获取更多后端实战干货!你在消息堆积处理中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-08-01 18:27:51
670
原创 Kafka高并发日志处理,亿级日志怎么扛?一线实战全解析!
Kafka在高并发日志处理中具有高吞吐、低延迟、高可靠性等优势,能够有效处理亿级日志数据。合理的架构设计和配置优化能够充分发挥Kafka的性能优势。关注服务端技术精选,获取更多后端实战干货!你在Kafka日志处理中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-07-31 14:37:50
824
原创 API Gateway动态限流,流量控制还能这么玩?一线实战全解析!
Component@Autowired@Autowired@Override// 获取动态限流配置// 检查限流if (!// 基础配置// 根据系统负载调整// 降低50%// 降低20%// 根据用户等级调整// VIP用户翻倍// 黑名单用户禁止访问// 根据时间调整// 工作时间增加20%"end " +@Override。
2025-07-31 14:10:32
656
原创 Redis+Lua脚本,分布式限流的终极武器?一线实战全解析!
Redis+Lua脚本实现分布式限流,具有原子性、高性能、简单易用等优势。合理的实现和配置能够有效保护系统,提升用户体验。关注服务端技术精选,获取更多后端实战干货!你在Redis+Lua脚本限流中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-07-30 13:57:08
803
原创 漏桶算法vs令牌桶算法,限流到底用哪个?原理+实现深度解析!
漏桶算法和令牌桶算法各有优缺点,需要根据业务特点、流量模式、性能要求等因素综合考虑。合理的算法选择和参数配置能够有效保护系统,提升用户体验。关注服务端技术精选,获取更多后端实战干货!你在限流算法选择中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-07-30 13:42:39
755
原创 熔断策略设置错了,系统分分钟崩溃?超时时间+错误率阈值实战指南!
熔断策略的超时时间、错误率阈值设置是系统稳定性的关键,需要根据业务特点、系统性能、监控数据等多方面因素综合考虑。合理的配置能够有效防止雪崩,保证系统的高可用性。关注服务端技术精选,获取更多后端实战干货!你在熔断策略配置中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-07-29 13:41:56
590
原创 Hystrix停更了,Sentinel能接班吗?熔断降级技术深度对比!
Hystrix虽然停更,但Sentinel作为新一代熔断降级框架,在功能、性能、易用性等方面都有显著优势。对于新项目,建议直接使用Sentinel;对于现有项目,可以制定合理的迁移计划,逐步迁移到Sentinel。关注服务端技术精选,获取更多后端实战干货!你在熔断降级技术选型中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-07-29 13:24:39
910
原创 G1 GC调优实战:Full GC频率从每小时10次降到0次,我是怎么做到的?
还记得第一次遇到线上Full GC频繁,用户反馈系统卡顿,领导一句话:"你G1 GC参数调了吗?G1 GC调优不是一蹴而就的,需要理解原理、合理配置、持续监控、及时优化。用得好,能让你的Java程序在高并发、大数据量场景下依然稳健,Full GC频率降到最低。某电商系统,日活100万,QPS 5000,堆内存8G,Full GC每小时10次,用户反馈系统卡顿。:收集部分老年代Region,避免Full GC。:同时收集新生代和老年代,避免Full GC。,导致老年代持续增长,触发Full GC。
2025-07-28 19:11:28
801
原创 JVM内存模型+垃圾回收,你的Java程序为啥总卡顿?深度解析来了!
JVM内存模型和垃圾回收机制是Java性能调优的基础,理解原理、合理配置、持续监控,才能让你的Java程序在高并发、大数据量场景下依然稳健。关注服务端技术精选,获取更多后端实战干货!你在JVM调优中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-07-28 19:02:17
734
原创 并发编程“黑科技“:Semaphore和CountDownLatch的5个实战技巧,学会秒杀面试!
并发工具类就像乐高积木,单独使用功能有限,组合起来却能搭建复杂系统。Semaphore + CountDownLatch:实现有限线程池的批量任务执行CyclicBarrier + Phaser:处理分阶段的大数据计算最后留一道思考题:如何用Semaphore实现一个简单的限流器?欢迎在评论区留下你的实现方案,最佳答案将获得《Java并发编程实战》电子书!《Java并发编程的艺术》阿里技术团队:《Java并发容器最佳实践》美团技术博客:《高并发场景下的限流策略》
2025-07-27 22:52:17
378
原创 Elasticsearch查询慢?一线实战性能优化技巧全揭秘!
Elasticsearch查询性能优化没有银弹,只有不断调优、持续监控、科学设计,才能让你的ES集群在亿级数据、千万QPS下依然稳健。关注服务端技术精选,获取更多后端实战干货!你在ES查询优化中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-07-26 23:22:25
618
原创 布隆过滤器+缓存预热,拦截穿透流量的终极武器?实战全解析!
布隆过滤器+缓存预热,能极大提升缓存命中率,拦截无效流量,保护数据库。用得好,系统抗压能力直接拉满!关注服务端技术精选,获取更多后端实战干货!你在缓存预热和布隆过滤器实践中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-07-25 14:12:06
369
原创 缓存雪崩穿透击穿防御全攻略
还记得第一次线上事故,凌晨被电话吵醒,发现Redis挂了,数据库直接被打爆,老板一句话:“你这缓存怎么做的?:数据库查不到的数据,也写入缓存(如null或特殊标记),下次直接返回,防止反复查库。:热点key快过期时提前刷新,或者删除缓存后延迟一段时间再次删除,防止并发写入。大量缓存同一时间失效,所有请求瞬间打到数据库,数据库压力暴增,甚至直接崩溃。用户请求的数据,缓存和数据库都没有,每次都要查数据库,缓存根本拦不住。:设置缓存时,过期时间加上一个随机数,避免同一时间大量key失效。
2025-07-24 13:38:15
367
原创 本地缓存+分布式缓存,性能翻倍还是踩坑?Caffeine+Redis实战全解析!
本地缓存+分布式缓存不是银弹,但用得好,性能真能飞。Caffeine+Redis组合拳,既快又稳,但也要注意一致性和容量管理。关注服务端技术精选,获取更多后端实战干货!你在多级缓存中遇到过哪些坑?欢迎在评论区分享你的故事!
2025-07-23 14:16:19
401
原创 MySQL查询优化:索引失效的10个坑,90%的程序员都踩过!
索引失效就像“隐形的性能杀手”,稍不注意就会让系统变慢。写SQL时多思考:这个查询会走索引吗?养成用Explain分析SQL的习惯没有万能的优化方案,要结合业务场景“全值匹配我最爱,最左前缀要遵守;带头大哥不能死,中间兄弟不能断;索引列上不计算,范围之后全失效”关注服务端技术精选,获取更多后端实战干货!你遇到过哪些奇葩的SQL性能问题?欢迎在评论区分享你的故事!
2025-07-22 14:33:53
241
原创 LVS vs HAProxy vs Nginx:三大负载均衡器性能大PK,谁才是真正的性能之王?
LVS(Linux Virtual Server)是Linux内核级别的负载均衡器,就像"高速公路的收费站",直接在操作系统层面处理网络流量。工作在OSI第4层(传输层)直接操作TCP/IP协议栈性能极高,延迟极低支持多种调度算法HAProxy是一个专业的负载均衡器,就像"高级餐厅的服务员",既能快速上菜,又能提供个性化服务。工作在OSI第4层和第7层功能丰富,配置灵活性能优秀,稳定性好支持健康检查和会话保持。
2025-07-21 13:44:26
365
原创 轮询算法大PK:从简单轮询到一致性哈希,谁才是负载均衡的王者?
第1个人去窗口1第2个人去窗口2第3个人去窗口3第4个人又回到窗口1…简单粗暴,但很公平。窗口1(权重3):可以同时服务3个人窗口2(权重2):可以同时服务2个人窗口3(权重1):只能服务1个人所有服务器都坐在一个圆桌旁每个请求都有一个"座位号"请求会分配给顺时针方向最近的服务器如果某个服务器"离席",只有它附近的请求需要重新分配简单轮询:简单粗暴,适合入门加权轮询:考虑性能差异,适合生产环境一致性哈希:分布式神器,适合复杂场景简单系统 → 简单轮询。
2025-07-20 12:41:11
593
原创 HTTP/2 多路复用:为什么你的网站加载速度能快3倍?
想象一下,你在银行排队办业务。前面有个人在办理复杂的业务,需要很长时间,你只能干等着。这就是 HTTP/1.1 的队头阻塞问题。一个 TCP 连接只能同时处理一个请求如果某个请求处理慢,后面的请求都要排队浏览器最多只能开6-8个并发连接大量小文件请求时,性能急剧下降简单来说,多路复用就是"一个连接,多个请求"。就像高速公路上的多条车道,不同的车可以同时行驶,互不干扰。一个 TCP 连接可以同时处理多个请求请求和响应被分解成帧(Frame)每个帧都有独立的流(Stream)标识。
2025-07-19 10:43:40
942
原创 分布式系统设计:从入门到实践
随着互联网业务的高速发展,单体系统已难以满足高并发、高可用和弹性扩展的需求。分布式系统作为现代互联网架构的基石,成为越来越多技术团队的首选。本文将带你系统了解分布式系统设计的核心理念、常见挑战与最佳实践。分布式系统(Distributed System)是指由多个独立计算节点通过网络协同完成某一任务的系统。这些节点可以是物理服务器、虚拟机,甚至是容器。分布式系统的目标是通过资源共享、负载均衡和容错机制,实现系统的高可用、高性能和可扩展性。
2025-07-15 13:37:27
351
原创 RabbitMQ 与 Kafka 的使用场景与对比详解
RabbitMQ 和 Kafka 各有优势,选型需结合业务场景、性能需求、生态集成等多维度考量。合理利用消息队列,能极大提升系统的可扩展性、可靠性和解耦能力。建议在实际项目中多做测试和评估,选出最适合自身业务的消息中间件。如有疑问,欢迎留言交流。如需RabbitMQ、Kafka实战工程或更多技术细节,欢迎留言获取!更多实战干货欢迎关注公众号:服务端技术精选。小程序:随手用工具箱。
2025-07-14 09:17:37
718
原创 Mock 数据的生成与使用全景详解
Mock数据,指的是通过工具或代码自动生成的、用于模拟真实业务场景的数据。它可以是结构化的(如JSON、数据库表),也可以是非结构化的(如文本、图片等),目的是让开发、测试环境在没有真实数据的情况下也能正常运行和验证功能。Mock数据是现代后端开发不可或缺的基础能力。合理利用Mock工具和方法,不仅能提升开发效率、保障测试质量,还能有效规避数据安全风险。建议大家在项目初期就规划好Mock数据方案,并结合自动化测试、前后端联调等流程,打造高效、可靠的开发环境。如有疑问,欢迎留言交流。
2025-07-13 22:33:52
642
原创 使用 Spring Cloud 构建微服务架构全景详解
本文系统介绍了使用Spring Cloud构建微服务架构的核心内容。首先概述了微服务架构的概念与优势,包括独立部署、故障隔离等技术特点。然后详细解析了Spring Cloud生态体系的核心组件,如Eureka、Config、Gateway等。文章重点提供了服务注册发现、配置中心、API网关等关键模块的实战配置示例,并分享了服务拆分、配置管理等最佳实践。最后总结了Spring Cloud在微服务实现中的价值,强调要结合业务场景渐进式推进架构转型。全文为开发者提供了Spring Cloud微服务的完整技术路线图
2025-07-12 10:23:18
347
原创 Spring Security 技术原理与实战全景详解
摘要:Spring Security是Java后端开发中的核心安全框架,提供认证和授权功能。文章全面解析了其原理、架构(过滤器链+安全上下文)和核心组件,涵盖表单登录、JWT认证等场景,并给出实战配置示例。通过自定义UserDetailsService实现数据库用户认证,介绍了JWT/OAuth2集成方法,同时探讨了高级用法和最佳实践(如密码加密、CSRF防护)。该框架适用于各类项目架构,是构建安全后端系统的首选方案。
2025-07-10 11:28:21
335
原创 Spring Boot多数据源配置详解
Spring Boot多数据源配置并不复杂,关键在于理解原理、规范配置、合理分包。掌握多数据源技术,不仅能提升系统扩展性和灵活性,也是后端开发进阶的必备技能。如有疑问,欢迎留言交流。如需Word版或代码示例工程,请留言获取!
2025-07-09 17:11:25
636
原创 Service Mesh:服务网格有哪些应用?
Service Mesh 是一种用于处理服务间通信的基础设施层。它通常由一组轻量级的网络代理组成,这些代理与应用程序一起部署,并负责处理服务间的通信、流量管理、安全性等方面的问题。通过将这些功能从应用程序中解耦出来,Service Mesh 可以让开发人员更加专注于业务逻辑的实现,同时提高系统的可维护性、可扩展性和可靠性。Service Mesh 作为一种新兴的技术,为分布式系统的通信管理提供了一种全新的解决方案。它在微服务架构、多云环境、容器化环境和遗留系统集成等方面都有着广泛的应用前景。
2024-12-18 21:56:11
875
原创 容器化升级对服务有哪些影响?
相比传统虚拟化技术,容器技术是一种更加轻量级的操作系统隔离方案,可以将应用程序及其运行依赖环境打包到镜像中,通过容器引擎进行调度,并且提供进程隔离和资源限制的运行环境。
2024-12-17 23:14:13
1050
原创 分布式下如何实现配置管理?
随着业务的发展,应用系统中的配置会越来越多,配置之间也有不同的业务特点,比如业务依赖的数据库配置、缓存信息配置、索引存储配置等。这类配置一般比较稳定,不会频繁更改,通常会放在工程中作为配置文件随应用一起发布。除了这些配置,还有一部分配置会经常发生修改,比如限流降级开关配置、业务中的白名单配置等。这些配置项除了变更频繁,还要求实时性,如果采取和应用一起发布的方式,那么每次变更都要重新发布服务,非常不方便。为了解决这类配置问题,出现了分布式配置管理平台,这一课时我们就来了解一下分布式配置管理相关的内容。
2024-12-16 23:16:24
640
原创 如何实现分布式调用跟踪?
分布式服务拆分以后,系统变得日趋复杂,业务的调用链也越来越长,如何快速定位线上故障,就需要依赖分布式调用跟踪技术。下面我们一起来看下分布式调用链相关的实现。
2024-12-15 18:31:59
1126
原创 如何实现服务注册与发现?
在分布式服务中,服务注册和发现是一个特别重要的概念,为什么需要服务注册和发现?常用的服务发现组件有哪些?服务注册和发现对一致性有哪些要求呢?下面我们就来学习服务发现相关的知识。
2024-12-14 22:14:35
843
原创 为什么微服务需要 API 网关?
对网关我们并不陌生,网关的概念来源于计算机网络,表示不同网络之间的关口。在系统设计中,网关也是一个重要的角色,其中最典型的是各大公司的开放平台,开放平台类网关是企业内部系统对外的统一入口,承担了很多业务,比如内外部数据交互、数据安全、监控统计等功能。在微服务架构中,API 网关的作用和开放平台等传统网关又有一些不同,下面一起来看一下微服务中 API 网关的相关知识。
2024-12-13 23:14:36
909
原创 微服务架构中的RPC框架应用解析,性能对比和实际案例分享!
RPC 是一种远程调用技术,它使得分布式系统中的不同节点可以像调用本地函数一样调用其他节点上的函数。RPC 隐藏了网络通信的细节,使得开发者可以专注于业务逻辑的实现。客户端调用本地的代理对象,传入参数。代理对象将参数进行序列化,并通过网络发送给服务端。服务端接收到请求后,进行反序列化,得到参数。服务端执行相应的函数,并将结果返回给客户端。客户端接收到结果后,进行反序列化,得到最终的结果。
2024-12-12 23:28:49
824
原创 如何使用 Redis 快速实现分布式锁?
Redis 作为一种高性能的内存数据库,可以快速实现分布式锁。通过使用 SETNX 命令和 EXPIRE 命令,可以实现一个简单的分布式锁。在使用分布式锁时,要注意锁的过期时间设置、锁的释放以及 Redis 的可用性等问题。同时,也要认识到分布式锁在应用中的优缺点,根据实际情况选择合适的分布式锁实现方案。并且,在高并发场景下的数据一致性、分布式任务调度以及分布式事务中的资源锁定等场景中,Redis 分布式锁都能发挥重要作用。
2024-12-11 23:16:15
888
原创 分布式锁的应用场景与实现
分布式锁在分布式系统中有着广泛的应用场景,可以有效地解决数据一致性、任务调度和分布式事务等问题。不同的实现方式各有优缺点,在实际应用中,需要根据具体的业务需求和系统架构选择合适的分布式锁实现方式。同时,需要对分布式锁的性能和可靠性进行充分的分析和测试,以确保分布式系统的稳定运行。文章(专栏)将持续更新,欢迎关注公众号:服务端技术精选。。个人小工具程序上线啦,通过公众号(服务端技术精选)菜单【个人工具】即可体验,欢迎大家体验后提出优化意见!
2024-12-10 23:02:27
1382
原创 如何在业务中体现 TCC 事务模型?
TCC 事务模型将事务的执行过程分为三个阶段:Try、Confirm 和 Cancel。Try 阶段:尝试执行事务,完成所有业务检查(一致性),预留必须的业务资源(准隔离性)。Confirm 阶段:确认执行真正的事务操作,不做任何业务检查,只使用 Try 阶段预留的业务资源。此阶段必须保证事务的原子性和持久性。Cancel 阶段:取消执行事务,释放 Try 阶段预留的业务资源。此阶段必须保证事务的原子性和幂等性。
2024-12-09 23:19:06
598
建设思路-政务领域-智慧应急、应急指挥平台
2023-02-20
软件开发-nginx-文件服务器配置
2023-01-30
使用Java连接sqlserver报错
2016-12-15
myeclipse8.5集成hibernate连接sqlserver报错。
2016-12-19
jsp页面使用三元表达式来动态控制性别radio选中问题
2016-12-21
使用ionic start myApp tabs 时出错
2016-06-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人