当前位置:网站首页>分布式系统:what、why、how
分布式系统:what、why、how
2022-07-04 03:50:00 【InfoQ】
1. 什么是分布式系统?
2. 为什么要引入分布式系统?
- 性能和容量:已经触达单机的计算瓶颈、存储容量瓶颈
- 投入产出比:升级单机硬件的成本太高,已经大于它带来的性能或容量的提升效果
- 研发效率:随着系统越来越复杂,参与维护的人越来越多,单体系统的维护效率触发瓶颈
- 运维要求:单机系统一挂全挂的特点,不满足互联网服务24*7可用的要求
- 扩展性:随着机器的线性增加,分布式系统的存储和计算性能也可以线性增加
- 灵活性:基于普通机器的集群,可以根据业务流量,灵活扩容或缩容,提高资金的利用率
- 可用性:单个模块挂掉,不会影响其他模块
3. 分布式系统又带来了哪些问题?
- 要妥善处理好多个节点之间的协同问题、数据分区、数据一致性等问题,难度很大
- 将系统拆到不同的计算机节点上,运维难度变高
- 测试和排查问题的难度提高
4. 如何建设优秀的分布式系统?
4.1 运行视角
- 分布式计算
- 两个节点之间的进程如何通信?
- 如何发现自己要调用的服务?
- 如何做避免系统雪崩?
- 如何确定系统是正常运行的?
- 如何做分布式锁?
- 分布式存储
- 如何做数据分片?
- 如何保障数据一致性?
- 如何做分布式事务?
4.2 抽象视角
- 路由问题
- 共识问题
- 运维问题

参考资料
- https://www.cnblogs.com/xybaby/p/7787034.html
- https://www.confluent.io/learn/distributed-systems/
- A Thorough Introduction to Distributed Systems
- https://time.geekbang.org/column/article/481016
- https://time.geekbang.org/column/article/141
边栏推荐
- [book club issue 13] multimedia processing tool ffmpeg tool set
- The difference between bagging and boosting in machine learning
- Confession code collection, who says program apes don't understand romance
- *. No main manifest attribute in jar
- Pytest multi process / multi thread execution test case
- 渗透实战-guest账户-mimikatz-向日葵-sql提权-离线解密
- vim正确加区间注释
- Class summation, shortest row
- Third party login initial version
- 10 reasons for not choosing to use free virtual hosts
猜你喜欢

Select sorting and bubble sorting template
![Cesiumjs 2022^ source code interpretation [0] - article directory and source code engineering structure](/img/ba/c1d40de154344ccc9f2fd1dd4cb12f.png)
Cesiumjs 2022^ source code interpretation [0] - article directory and source code engineering structure

What kind of experience is it when the Institute earns 20000 yuan a month!

Defensive programming skills

10 reasons for not choosing to use free virtual hosts

Storage of MySQL database
![[paddleseg source code reading] paddleseg custom data class](/img/88/37c535b371486db545abc392a685af.png)
[paddleseg source code reading] paddleseg custom data class

Why is it recommended that technologists write blogs?

laravel admin里百度编辑器自定义路径和文件名

JVM family -- heap analysis
随机推荐
hbuildx中夜神模拟器的配置以及热更新
用于TCP协议交互的TCPClientDemo
Aperçu du code source futur - série juc
毕业总结
Katalon使用script实现查询List大小
Spa in SDP
Tcpclientdemo for TCP protocol interaction
Katalon framework tests web (XXI) to obtain element attribute assertions
SDP中的SPA
【华为云IoT】读书笔记之《万物互联:物联网核心技术与安全》第3章(上)
Future源碼一觀-JUC系列
Nbear introduction and use diagram
CesiumJS 2022^ 源码解读[0] - 文章目录与源码工程结构
[untitled]
LNK2038 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MDd_DynamicDebug”(main.obj 中)
Introduction to asynchronous task capability of function calculation - task trigger de duplication
Flink学习7:应用程序结构
Getting started with the go language is simple: go implements the Caesar password
Rhcsa-- day one
The three-year revenue is 3.531 billion, and this Jiangxi old watch is going to IPO