我感兴趣的是如何做到以下几点:
(因为我的英语,有些短语可能很奇怪:)
假设我们需要为一家大型航空公司提供一个软件,该公司拥有200个相距甚远的机场,每个机场都有10个软件客户端。
该系统采用三层体系结构。
是否只有一个中间轮胎(可能是应用程序服务器集群)供所有客户端连接,或者每个机场都有自己的数据库、应用程序服务器(独立的相同系统),并在夜间将数据库同步到中央仓库?
如果所有客户端都连接到同一个中间轮胎,而这个轮胎非常非常远,它们如何处理连接错误?他们能负担得起互联网延迟吗?
问候
发布于 2011-09-29 16:31:26
我想这只是一个参考:对于一个真正的航空公司来说,使用的是两层(或多或少)的方法。例如,最大的GDS (Amadeus)实际上只有一个表示层(用Java编码)和一个数据/通信层(一个副本(大量散列)位于一个地方)。这一点至关重要,因为实时准确性对于航空公司来说很重要(例如,您需要将预订控制到座位级别,否则您将无法完全控制库存)。此数据/通信层基于大型机,位于德国的单个数据中心,具有8个实时冗余备份。这向您表明了拥有数据的单一版本有多么重要,而不管它在哪里被消费。Amadeus几乎不使用任何分布式数据。使其能够在一个数据库上处理大量事务的原因是数据模型的简单性(例如,乘客出行的PNR概念)。所以..。关键因素是:极高的可靠性,以及在简单的数据结构环境中工作的高通信速度。大型机和汇编器来拯救!甚至有一个定制的操作系统可以完成这一切: TPF -由IBM销售,其核心组件建于40多年前。它提供超高的交易率和极高的稳定性。相应地,正如你所预期的那样,它是非常昂贵的。
发布于 2010-08-26 03:55:23
开发n层体系结构有许多不同的方法。他们选择哪一种取决于他们的特定需求。
如果他们需要确保软件即使在没有Internet连接的情况下也可以运行,并且最新数据并不重要,那么他们可以在每个位置使用数据库。
如果他们可以容忍网络连接问题,但又需要确保所有数据都是最新的,那么它可能是一个web应用程序,所有层都在一个位置,web浏览器充当瘦客户端。
或者,富客户端可以连接到中央位置的中间层应用程序服务器。
在任何情况下,连接问题都在软件的范围之外--在这种情况下,与网络提供商建立服务级别协议(SLA)并安排备用连接以确保可靠的网络运行变得很重要。
https://stackoverflow.com/questions/3569638
复制相似问题