摘要: 任何可能出错的东西都会出错 故障与部分失效 单机与分布式系统差异:单机软件运行较可预测,硬件正常时操作结果具确定性,遇硬件问题多导致整个系统故障。而分布式系统会面临部分失效情况,具有不确定性,其部分组件可能以不可预知方式损坏,这使分布式系统工作难度增加 不同计算系统的故障处理:高性能计算(HPC)领 阅读全文
posted @ 2024-11-17 22:02 学学学习的菜鸟程序员 阅读(416) 评论(2) 推荐(1) 编辑
摘要: 事务是应用程序将多个读写操作组合成一个逻辑单元的一种方式 从概念上讲,事务中的所有读写操作被视作单个操作来执行:整个事务要么成功(提交(commit))要么失败(中止(abort),回滚(rollback))。如果失败,应用程序可以安全地重试。 并不是所有的应用都需要事务,有时候弱化事务保证、或完全 阅读全文
posted @ 2024-11-16 17:42 学学学习的菜鸟程序员 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 对于大数据集或高吞吐量情况,仅复制数据不够,需进行分区(也叫分片) 分区主要为了可扩展性,可将不同分区放于不共享集群的不同节点上,实现大数据集分布在多磁盘、查询负载分布在多处理器 分区与复制 每个节点可能是某些分区的领导者,同时是其他分区的追随者 键值数据的分区 将数据和查询负载均匀分布在各个节点上 阅读全文
posted @ 2024-11-11 15:25 学学学习的菜鸟程序员 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 复制的难点在于处理复制数据的变更 复制时的权衡:使用同步复制还是异步复制?如何处理失败的副本? 领导者与追随者 多副本问题:如何确保数据都落在了所有副本上--基于领导者的复制(主从复制) 主从复制原理 领导者将新数据写入本地存储时,会将数据变更发送给所有追随者,称为复制日志或变更流 每个追随者从领导 阅读全文
posted @ 2024-11-10 22:10 学学学习的菜鸟程序员 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 本章中将介绍几种编码数据的格式,包括 JSON,XML,Protocol Buffers,Thrift和Avro。尤其将关注这些格式如何应对模式变化,以及它们如何对新旧代码数据需要共存的系统提供支持。然后将讨论如何使用这些格式进行数据存储和通信:在Web服务中,具象状态传输(REST)和远程过程调用(RPC),以及消息传递系统(如Actor和消息队列). 阅读全文
posted @ 2024-11-10 22:10 学学学习的菜鸟程序员 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 基础的server 框架 抽象层IServer.go IServer.go type IServer interface { // 实现一个服务器的基本三个接口,启动,停止,入口 Start() Stop() Server() } 实现层server.go server.go package zne 阅读全文
posted @ 2024-11-10 22:07 学学学习的菜鸟程序员 阅读(2) 评论(0) 推荐(0) 编辑