在梳理人工智能整体解决方案的特定大数据处理技术框架之前,我们首先对三种最基本、最典型的分布式系统设计模式做一个简要的概述。通常所说的人工智能整体解决方案的分布式系统,就是将任务分散到多个处理节点(通常是分布在一地或多处的多个计算设备)中进行处理并得到结果的系统。如何设计分布式系统中计算节点之间的关系,则形成不同的分布式系统设计模式。在一般分布式系统的教材中,人工智能整体解决方案经常会出现五六种、八九种甚至更多的设计模式,但其中最重要、最典型的其实有两种:
人工智能整体解决方案的备用节点的设计模式:这是分布式模式中最基本的有中心调度主机(负责负载平衡),除调度主机外,调度主机处于同等地位,每个节点计算机提供的服务和拥有的数据也基本上是一样的(实际应用场景中,节点之间的数据同步会允许某些延时,而此范围内节点之间的最新数据可能不完全一致)。通过负载均衡服务将大规模用户请求几乎公平地分配到所有节点计算机上,每个节点计算机以完全一致的方式处理用户请求,并返回结果。
人工智能整体解决方案的分段节点的设计模式:这种有中心调度主机(负责负载平衡)的分布式模式以某种方式将中心主机之外的所有节点分成不同的分片(shard),每个分片中的一个或多个节点负责处理与该分片业务或数据相关的请求。举例来说,要对大量的网页进行索引,你可以根据网页URL(实际使用URL的散列值)把所有网页分成若干张卡,每个节点只处理一部分。又如火车票订票系统,完全可以根据业务逻辑,将不同铁路局的票务分散到不同的车站,每个车站只处理一个车站的票务。