分布式系统架构与通信基础全解析
1. 分布式系统架构概述
在构建可扩展系统时,可将其视为一组通信服务和分布式数据库的集合。不过,其中涉及诸多细节,软件系统的关键往往就隐藏在这些细节之中。
在软件架构方面,分布式组件常被称为服务,这些服务实现应用程序的业务逻辑和数据库访问。它们是独立部署的进程,通过诸如 HTTP 等远程通信机制进行通信。从架构角度看,这些服务与面向服务架构(SOA)模式最为相似,这是一种成熟的构建分布式系统的架构方法。而微服务则是这种方法的现代演进,它们更具内聚性和封装性,有助于持续开发和部署。
对于大数据软件架构而言,存在一些随着大规模数据集合而凸显的问题,其中数据重新处理较为突出。当已存储和分析的数据因代码或业务规则变更需要重新分析时,就会发生数据重新处理。这可能是由于软件修复,或者引入了能从原始数据中挖掘更多见解的新算法。
2. 分布式系统的基本特性
为了增加处理能力,系统扩展通常会涉及多个独立运行的部分。软件组件会在多台机器上运行,数据库也会分布在多个存储节点上,解决方案因此分布在多个地点的多台机器上,每台机器并发处理事件,并通过网络交换消息。这种分布式系统的基本特性对系统的设计、构建和运营方式有着深远影响。
3. 通信基础示例
以移动银行应用请求用户当前银行账户余额为例,其通信流程简化如下:
1. 移动银行应用通过蜂窝网络向银行发送请求,以获取用户的银行余额。
2. 请求通过互联网路由到银行的 Web 服务器所在位置。
3. 银行的 Web 服务器对请求进行身份验证(确认请求来自指定用户),并向数据库服务器发送获取账户余额的请求。
超级会员免费看
订阅专栏 解锁全文
168万+

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



