1、什么是分布式计算?
分布式计算
分布式计算是构建大型系统的技术,它将工作分配到多台机器上。与传统计算系统(由单台计算机运行提供服务的软件)和客户端-服务器计算(多台机器远程访问集中式服务)不同,分布式计算通常有数百或数千台机器共同协作来提供大型服务。
2、描述分布式计算中的三种主要组合模式。
分布式计算中的三种主要组合模式
-
带有多个后端副本的负载均衡器
- 请求发送到负载均衡器服务器
- 负载均衡器为每个请求选择一个后端并转发请求
- 响应返回给负载均衡器后再转发给原始请求者
- 后端被称为副本,因为它们是彼此的克隆或复制,发送到任何副本的请求应产生相同的响应
- 负载均衡器需知晓哪些后端正常并能接受请求
- 会每秒多次发送健康检查查询
- 若检查失败则停止向该后端发送流量
- 选择后端的方法可简单可复杂,简单方法如轮询 -
带有多个后端的服务器
-
服务器树
3、有时主服务器不直接回复答案,而是回复答案所在的位置。这种方法有什么好处?
这样做可以避免在接收和中转大量数据时主服务器迅速过载,使主服务器无需在大数据传输中充当中间人。
4、解释CAP原则。
以下是将给定文本内容调整为Markdown格式的结果:
CAP 代表一致性(Consistency)、可用性(Availability)和分区容错性(Partition resistance)。
CAP原则指出,不可能构建一个能同时保证一致性、可用性和分区容错性的分布式系统,只能实现其中的一个或两个特性,无法同时实现全部三个。
例如:
- 传统关系型数据库如Oracle、MySQL和PostgreSQL是具备一致性和可用性(CA)的;
- 而像Hbase等较新的存储系统则有所不同。
5、当一个系统是松耦合时意味着什么?这些系统的优势是什么?
松耦合
松耦合意味着系统中的每个组件体现其提供服务的抽象,内部可以被替换或改进而不改变抽象,各组件不知道架构中其他系统的内部工作方式。
优势
- 方便系统随时间演进 :服务的依赖无需改变就能从新特性中受益;
- 便于改进甚至替换服务 :只需新服务提供相同抽象;
- 确保兼容性和质量 :在部署新系统时,可以通过与旧系统并行运行、比较结果来实现;
- 独立的安全和故障域 :各组件有独立的安全和故障域,维护更轻松。
6、请举例说明你所接触过的松散耦合和紧密耦合系统。是什么因素使它们呈现出松散或紧密耦合的特性?
## 松散耦合系统示例
- 分布式系统中各组件是松散耦合的:
- 每个组件体现其提供服务的抽象。
- 内部可替换或改进而不改变抽象。
- 依赖该服务的部分无需更改就能从新特性中受益。
- 应用架构中使用消息总线的系统也是松散耦合的:
- 各部门可通过订阅“用户更新”频道获取变更信息。
- 各部门在自己的角色账户上运行系统,有独立的安全和故障域。
- 新部门加入不影响其他部门。
## 紧密耦合系统示例
- 应用架构的旧版本系统:
- 各部门处理用户变更请求的插件在同一角色账户下运行。
- 一个部门插件有 bug 会导致整个系统崩溃。
## 对比总结
- **松散耦合系统**:
- 组件抽象程度高。
- 各部分独立性强。
- 不了解其他系统内部工作。
- **紧密耦合系统**:
- 各部分关联紧密。
- 一个部分的变化可能影响其他部分。
7、我们如何估算系统处理请求(如检索电子邮件消息)的速度?
- 可以选择一些常见事务并将其分解为更小的步骤,然后估算每个步骤所需的时间。
- 例如检索电子邮件消息:
- 请求来自可能在另一大陆的网络浏览器。
- 需对请求进行身份验证。
- 查询数据库索引以确定消息文本位置。
- 检索消息文本。
- 最后格式化响应并传输回用户。
- 同时,要考虑无法控制的因素:
- 如网络传输时间。
- 与相关团队沟通获取身份验证等操作的建议预算时间。
- 了解操作系统内部工作原理以估算磁盘操作时间。
- 还可考虑将索引存于内存等优化方式来重新估算时间。
8、为什么为运维进行设计如此重要?
系统从一开始就融入运维功能会更易于维护。考虑服务的整个生命周期,构建服务功能仅占一小部分时间,大部分时间用于运维服务。
传统上软件的运维功能优先级较低,而现在为运维设计能确保正常运维功能良好执行,比如:
- 定期维护
- 更新
- 监控
提供高可用服务的最佳策略是在软件中构建增强运维和自动化运维任务能力的功能,好的运维设计让运维更轻松,优秀的运维设计可消除部分运维职责,将运维人员的工作从执行重复任务转变为构建、维护和改进自动化处理任务的能力。
9、自动化配置通常是如何实现支持的?
自动化配置的支持方式
自动化配置通常通过以下方式支持:
- 配置采用具有明确定义格式的文本文件形式,自动化系统可轻松生成该文件。
- 文本文件易于解析、审计、存档,还能存储在源代码库中,并使用标准文本比较工具(如 UNIX
diff)进行分析。
对于运行中动态更新配置的系统:
- 自动化需通过 API 或读写配置文件来读取和更新

最低0.47元/天 解锁文章
999

被折叠的 条评论
为什么被折叠?



