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

从零开始理解 C++ 后端编程中的分布式系统

一、什么是“分布式”?

简单来说,分布式系统就是由“多个计算机(或服务器)”组成的一个大系统,它们通过网络协作完成某个任务,就像一个“团队合作”一样。

想象你开了一家餐馆,最初只有 一个厨房 和 一个服务员,所有订单都在这里处理。随着生意变好,你需要:

  • 开分店(多个厨房)

  • 雇佣更多服务员(多个服务节点)

  • 协调分店之间的食材供应(数据同步)

这就是 分布式系统 的核心思想:将任务拆分到多台计算机(节点)上协同工作,共同完成一个目标。

举个生动的比喻:

想象你和朋友们在一起做一道大菜,你们不在一个厨房里,而是各自处在不同的厨房里,各自负责不同的调料、配料,然后通过电话、微信沟通,把准备好的部分搬到一起,最终完成一顿美味佳肴。这个“分布在不同乡村/城市的厨房”合作做菜,就是一种“分布式”的思维。


二、为什么要用“分布式”?

单机系统的局限性

  • 性能瓶颈:CPU、内存、磁盘有限,无法处理海量请求(如双十一购物节每秒百万订单)。

  • 可靠性问题:单机故障会导致整个系统瘫痪。

  • 扩展性不足:无法通过简单增加机器提升能力。

分布式系统的优势

  • 水平扩展:通过增加机器提升性能。

  • 高可用性:单节点故障不影响整体服务。

  • 灵活部署:不同服务可独立扩展(如订单服务、支付服务)。

原因很多,主要包括:

  1. 扩展性(可扩展):单台电脑(单机)处理能力有限,但多台电脑可以一起合作,处理更大的数据、更复杂的任务。
  2. 高可用性:如果一台机器出现问题,其他机器还能继续工作,不会让整个系统崩溃。
  3. 负载均衡:把请求平均分配给不同的服务器,避免某个机器过载。
  4. 地理分散:用户分布在不同地区,可以让系统靠近用户,提高响应速度。

三、分布式系统的核心概念

3.1 水平扩展 vs 垂直扩展
  • 垂直扩展(Scale Up):升级单台机器的硬件(如换更强的 CPU)。

    • 优点:简单,无需改代码。

    • 缺点:成本高,存在物理上限。

  • 水平扩展(Scale Out):增加更多机器分担负载。

    • 优点:理论上无限扩展。

    • 缺点:需解决数据同步、负载均衡等问题

http://www.xdnf.cn/news/3816.html

相关文章:

  • Runnable组件重试机制降低程序错误率
  • 深度解析ComfyUI的使用
  • Linux常用命令29——delgroup删除组
  • Spring IoC 注解式开发全解析
  • Java面试资源获取
  • vmware diffy配置ollama 本机ip无法访问
  • AI 大模型常见面试题(及内容解析)
  • ip和域名
  • BUUCTF——禁止套娃
  • 【Hot 100】94. 二叉树的中序遍历
  • Spring 命名空间注入:p、c 与 .util 的深度解析
  • 欧拉计划 Project Euler64(奇周期平方根)题解
  • C++抽象基类三重防线:纯虚函数与保护构造的深度实践
  • js单调栈解题模板
  • skynet.socket.recv 没有处理分包问题
  • 办公文档全能处理工具功能解析
  • GR00t 安装使用教程踩坑记录
  • 专为焦油介质打造:煤焦油专用气动硬密封调节 V 型球阀(带手动)的卓越特点-耀圣
  • mvvm 如何 实现 MultiBinding 与转换器
  • SCAU18124--N皇后问题
  • 基于Vue2 + Element 实现任务列表管理功能的详细教程
  • tp5 php获取农历年月日干支甲午
  • MCP协议的使用分享
  • 数据库=====
  • 2025 年最新 Python 语言实现网易企业邮箱邮件推送验证码详细教程(更新中)
  • 智能决策支持系统的基本概念与理论体系
  • Ubuntu下安装Node.js
  • 【java八股文】深入浅出synchronized优化原理
  • 嵌入式Linux应用项目----智能网关
  • Docker Compose:服务编排:批量管理多个容器