登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
读发布!设计与部署稳定的分布式系统(第2版)笔记04_集 ...
读发布!设计与部署稳定的分布式系统(第2版)笔记04_集成点
[ 复制链接 ]
梁丘眉
2025-10-5 17:17:35
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
1. 第一个拥有10亿用户的网站
1.1. 2016年,Facebook宣布其每日活跃用户数量为11.3亿
1.2. 对整个应用程序来说,“五个9”的可靠性远远不够,这每天会让成千上万的用户失望
1.3. 假如按照六西格玛质量标准来衡量,那么Facebook每天会惹怒768000个用户
1.4. 每页200个请求,每日11.3亿个活跃用户,每百万次机会有3.4个缺陷
2. 当集成一个个的系统时,系统相互之间的紧耦合就会变为常态
2.1. 大型系统往往比小型系统更快地陷入失效
2.2. 紧耦合会令系统某一部分的裂纹开始蔓延并成倍增大,最终跨越层级或系统的边界
3. 问题膨胀
3.1. 轻微的失误转化为重大的系统失效
3.2. 冷却监控和控制系统中隐藏的连锁反应,就是导致美国三里岛核反应堆事故的部分原因
4. 每一个反模式都会在系统中产生、加速或增加裂纹
4.1. 仅仅避免使用这些反模式还不够,因为所有事物都会出问题,失误不可能避免
4.2. 不要假装可以消除所有可能的失误来源,无论是系统本身的失误还是人为引起的失误
4.3. 要做最坏的假设,失误肯定会发生
5. 集成点
5.1. 集成点是系统的头号杀手
5.2. 所有的都是集成项目
5.3. 蝴蝶图
5.4. 蜘蛛图
5.4.1. 精心设计
5.4.2. 随意设置
5.5. 所有这些连接都是集成点,它们中的每一个都有可能破坏系统
5.6. 小型服务的数量设计得越多,与SaaS提供商的整合程度就越高,越是采用API优先的策略,越会让情况变得更糟
6. 套接字协议
6.1. 较高层级的许多集成协议通过套接字运行
6.2. 除了命名管道和进程间通信(共享内存),几乎所有的通信都基于套接字来实现
6.3. 最简单的系统失效方式是远程系统拒绝连接
6.4. TCP部分则是一个关于如何在离散的数据包基础上,构建出看似连续连接的协议
6.4.1. TCP还定义了“同时打开”的握手方式,即在发送SYN/ACK之前,这两台机器会互相发送SYN数据包。然而在基于客户端-服务器交互的系统中,这是相对少见的
6.5. 如果想要结束阻塞调用,就必须设置套接字超时时间。在超时情况下,程序能够处理相关的异常
6.6. 网络系统失效按速度分为快慢两种
6.6.1. 快速的网络系统失效,会让调用代码立即出现异常
6.6.1.1. “拒绝连接”是非常快速的系统失效,只需要几毫秒的时间就能返回给调用方
6.6.2. 缓慢的系统失效,比如一个被丢弃的ACK,会让线程在抛出异常之前被阻塞几分钟
6.6.2.1. 一个缓慢的响应比没有响应糟糕得多
6.7. 问题
6.7.1. 防火墙内的“已建立连接”表
6.7.1.1. 该表是有时长限制的
6.7.1.2. 即使TCP本身允许无限时长的连接,该表也不允许
6.7.1.3. 防火墙丢弃了这些数据包,而不是通知发送方无法到达目标主机
6.7.1.4. 闲置时长会轻松超过防火墙中配置的1小时闲置连接超时
6.7.2. TCP从来也不是为处于网络连接中间的那种智能设备而设计的,任何第三方都无法告诉连接终端它们的连接正在被拆除
6.8. 方案
6.8.1. ping数据包本身就是解决方案所需要的,其可以用来重置防火墙连接的“最后数据包”时间,可以使连接保持活动状态
6.8.2. “无效连接检测”既能让连接保持活动状态,又可以让人睡个安稳觉
6.8.3. 为了更好地理解问题,需要知道如何继续深入至少两个抽象层次,才能了解层次的“实际情况”,找到问题所在
6.9. tcpdump是从网络接口捕获数据包的常用UNIX工具
6.10. Wireshark可以在网线上嗅探数据包
6.10.1. 类似tcpdump,但它也能在图形用户界面中显示数据包的结构
6.10.2. 需要在X Window系统上运行
6.10.2.1. 无法安装在Docker容器或AWS实例中
7. HTTP协议
7.1. 所有基于HTTP的协议都使用套接字
7.2. 可能会给调用方带来的影响
7.2.1. 服务提供方可能会接受TCP连接,但不会响应HTTP请求
7.2.2. 服务提供方可以接受连接但不能读取请求
7.2.3. 服务提供方可能会发回调用方不知道该如何处理的响应状态
7.2.4. 在服务提供方发回的响应中,可能带有调用方不期望或不知道如何处理的内容类型
7.2.4.1. 当DNS查找失败时,互联网服务提供商可能会注入一个HTML页面
7.2.5. 服务提供方可能声称要发送JSON,但实际上发送了纯文本,或者是内核二进制文件,抑或是Weird Al Yankovic创作的MP3音乐
7.3. 建议
7.3.1. 避免使用那些将响应直接映射到领域对象的客户端程序库
7.3.2. 要将响应视为数据,除非已经确认响应符合设计预期
8. 供应商的API程序库
8.1. 阻塞是影响供应商API程序库稳定性的首要问题
8.1.1. 无论是内部资源池、套接字读取指令、HTTP连接,还是最一般的Java序列化,处处可以发现不安全的编程实践
8.2. 供应商可能会对其销售的服务器软件进行强化,但对客户端API程序库则很少这样做
8.3. 程序库的代码只是出自常规开发工程师之手,与其他任何随机抽样的代码一样,在质量、风格和安全性等方面具有不稳定性
8.4. 它们几乎不受控制
8.5. 需要等待供应商官方补丁版本
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
发布
设计
部署
定的
分布式
相关帖子
仿everything制作搞笑检索设计(是的,我没有打错字)
Flask 应用部署实战:Nginx 反向代理配置指南
SeaTunnel(2.3.12)部署及其Demo(含CDC实时采集demo)
一键部署!一款开源自托管的照片画廊神器!
对标MinIO!全新一代分布式文件系统诞生!
观察者模式,发布/订阅模式,与回调函数
huggingface_hub 1.0 正式版现已发布:开源机器学习基础五周年回顾
XXL-TOOL v2.4.0 发布 | 布隆过滤器、Excel流式读写、高性能BeanCopy
时序数据库 TimechoDB V1.3.6 发布 | 优化查询与同步性能,强化内核稳定性
Tomcat部署zrlog——处理动态数据的环境
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
仿everything制作搞笑检索设计(是的,我没有打错字)
1
188
渭茱瀑
2025-12-10
业界
Flask 应用部署实战:Nginx 反向代理配置指南
1
926
盒礁泅
2025-12-11
业界
SeaTunnel(2.3.12)部署及其Demo(含CDC实时采集demo)
1
626
溧久苟
2025-12-11
安全
一键部署!一款开源自托管的照片画廊神器!
1
273
莅耸
2025-12-12
业界
对标MinIO!全新一代分布式文件系统诞生!
2
564
聊账
2025-12-12
安全
观察者模式,发布/订阅模式,与回调函数
0
40
粉押淫
2025-12-13
科技
huggingface_hub 1.0 正式版现已发布:开源机器学习基础五周年回顾
0
557
俏襟选
2025-12-13
业界
XXL-TOOL v2.4.0 发布 | 布隆过滤器、Excel流式读写、高性能BeanCopy
0
672
静轾
2025-12-15
安全
时序数据库 TimechoDB V1.3.6 发布 | 优化查询与同步性能,强化内核稳定性
1
433
祖娅曦
2025-12-15
安全
Tomcat部署zrlog——处理动态数据的环境
0
215
予捻
2025-12-15
回复
(6)
莅耸
2025-10-24 07:40:50
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
东西不错很实用谢谢分享
吕梓美
2025-11-9 12:15:04
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
新版吗?好像是停更了吧。
背竽
2025-11-10 10:23:26
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
接快背
2025-11-25 13:53:05
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,学习下。
闻人莹华
2025-11-30 23:44:44
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢发布原创作品,程序园因你更精彩
玲液
前天 12:08
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
新版吗?好像是停更了吧。
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
科技
签约作者
程序园优秀签约作者
发帖
梁丘眉
前天 12:08
关注
0
粉丝关注
18
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845357
3934307807
991123
4
xiangqian
638210
5
韶又彤
9998
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
206
Claude Code 使用 Skills
670
资源总是不够用?这次,我用一套系统盘活了
976
UniEdit:首个大型开放域大模型知识编辑基
575
Karmada v1.16 版本发布!支持多模板工作负
311
《ESP32-S3使用指南—IDF版 V1.6》第五十五
941
纯前端调用大模型真的安全吗?我踩过的坑比
895
【分析式AI】-带你秒弄懂决策树与随机森林
98
DBLens 的数据安全、登录方式与离线使用说
71
国内开发者合规订阅 Claude Code 的 3 条最
154
Perforce QAC 2025.3 新版上线 | 速度与深
475
防止跨站脚本攻击(XSS)(完整版HTTP安全
352
Wayland下RDP服务器的搭建
887
Flink学习笔记:状态后端
532
csq-蓝桥杯python-基础语法2-列表与循环语
512
C#+VisionMaster 学习笔记(目录)-目录
586
ROS2核心概念之参数
88
【Agent】MemOS 源码笔记---(5)---记忆分类
129
.NET周刊【11月第4期 2025-11-23】
191
Oracle回滚与撤销(Undo)技术:从理论到实
223
吴恩达深度学习课程四:计算机视觉 第二周