当前位置: 首页 > news >正文

编程思想之分片

分片

定义

“分片”本质上是一种把大数据、大任务拆成小块并行或分布式处理的策略。分片后的“片”,可以在同一个系统中分别处理,也可以丢给不同机器执行,从而增强系统的效率和可维护性。

原则
  • 关注单一职责:每个“片”只负责一小部分内容。
  • 增强可并发性:每片可以单独运行,利于并行处理。
  • 提高扩展性:将来想扩展或优化,只需修改部分片。
  • 错误隔离:某片出错不影响整体
注意事项
  • 分片粒度控制
    • 片太小 → 任务切换开销大;
    • 片太大 → 并行度低,性能没提升。
  • 一致性问题
    • 多片操作可能带来数据不一致风险,需设计好事务/锁机制。
  • 路由策略
    • 通过代理和,集成hash取模、范围划分、标签划分等策略实现路由机制。
  • 合并结果
    • 分片执行完后,可能考虑结果整合(数据统计)。
实例
  1. 数据库分片(水平分库分表)

    • 场景:用户数据太多,单库扛不住。
    • 做法:按用户ID对10取模,把数据分到10个数据库中。
  2. 负载均衡中的任务分片

    • 请求被分发到多个服务器(节点)上,其实就是对处理能力的分片。
  3. 分布式缓存

    • Redis 的分片集群把键值对按哈希槽分片,每个节点负责一部分哈希槽,读写数据时key经过CRC16校验后,对哈希槽数量进行一个取模运算(保证不超过哈希槽总量),根据结果分配到对应的节点中。
  4. 前端分页显示(逻辑分片)

    • 用户数据列表一次性加载10000条不现实,前端分页就是分片的一种,按页分批请求。
  5. MapReduce:任务分片

    • Map 阶段将数据分片并并行处理;

    • Reduce 阶段汇总处理后的结果。

  6. 多线程文件下载

    • 把大文件按 byte 分片,每个线程下载一段,再合并。
  7. CDN 内容分片传输

    • 大视频文件会被分成多个小片段传输(HLS、DASH等),并存在不同CDN节点中。
  8. 大型游戏服务器架构

    • 游戏地图被划分为多个区域(shard/zone),每个区域由不同服务器承载,玩家的行为只影响其所在分片。
  9. 爬虫中的任务分片

    • 一台机器爬不完,就给多个爬虫分发不同的URL段。
优势
  • 高性能:分片可并行处理,速度更快。

  • 可扩展:需要更多资源?加节点即可。

  • 容错性强:一个分片挂了,其它还能顶上。

  • 内存/存储均衡:避免单点瓶颈。

潜在问题
  • 分片路由逻辑复杂。
  • 数据分布不均会造成“热片”(某些分片可能会因为存储或处理过多的数据请求而变得过载)。
  • 跨片进行JOIN操作很麻烦。
  • 分片规则的选择(时间 、ID),业务需求的变化可能会使最初的分片策略不再适用。

相关文章:

  • JavaScript 笔记 --- part 5 --- Web API (part 3)
  • 力扣hot100 LeetCode 热题 100 Java 哈希篇
  • CFD技术如何实现污水处理曝气池的设计优化和节能降碳?
  • vue中将elementUI和echarts转成pdf文件
  • LLM 论文精读(二)Training Compute-Optimal Large Language Models
  • 图像挖掘课程笔记-第一章:了解机器视觉
  • [大模型]什么是function calling?
  • IOT项目——双轴追光系统
  • 第六篇:linux之解压缩、软件管理
  • RS232借助 Profinet网关与调制解调器碰撞出的火花
  • AI 硬件定制:开启智能新时代的钥匙
  • Vue3 异步组件详解:从原理到实战的保姆级指南
  • 【OSG源码阅读】Day 2: 初始化流程
  • Megatron - LM 重要文件解析 - /tools/preprocess_data.py
  • 极狐GitLab 中如何自定义角色?
  • windows使用openssl生成IIS自签证书全流程
  • ProxySQL 性能调优实战案例
  • 车载软件架构 --- 驾驶员不感知的控制器软件运行
  • Oracle--PL/SQL编程
  • Pytorch实用教程(一):torch.compile计算提速
  • 上海银行换帅:顾建忠出任党委书记,金煜辞任董事长
  • 告别国泰海通,黄燕铭下一站将加盟东方证券,负责研究业务
  • 经常失眠,睡眠质量低?也许只是缺这种营养
  • 2025年度“沪惠保”今日开售:保费维持129元/人,进一步扩增国内外特药种类
  • 民政部:从未设立或批准设立“一脉养老”“惠民工程”项目,有关App涉嫌诈骗
  • 上交所召开私募机构座谈会,与会机构:中国资产具备显著估值修复和提升潜力,将坚定持有