我们计划用几个web组件构建一个桌面应用程序。我想知道这个建筑有多有弹性。
从本质上说,设计看起来就像
在此设计中,是否存在任何可能的缺陷,因为所有的东西都在运行本地主机?我担心的是对本地主机上运行的服务器组件的依赖。在生产软件中在本地主机上运行分布式组件是否实用?
这种设置是否会导致运行时环境中的不稳定情况,特别是因为桌面应用程序正在与同一台机器上的后端服务器对话?
发布于 2023-02-02 06:55:52
在一台机器上运行分布式应用程序并不会使其“不那么稳定”,只要不同的组件不需要单台机器上太多的可用CPU和内存资源。恰恰相反,本地TCP/IP连接通常比复杂的LAN或WAN上的连接更安全,后者的硬件和软件组件(如电缆、交换机、路由器或VPN组件)正在中间工作。在本地机器上使用网络协议是实现进程间通信的常用方法。
另一方面,人们必须意识到,单机也是一个单一的故障点。在多台机器设置中,可能存在多个故障点,但替换单个失败组件可能更容易(直到某个数据中心自动发生故障)。
因此,您必须关注数据的备份和硬件的冗余,直到它符合您的安全要求。然而,对于多台机器的设置,该语句也是正确的。
我不能告诉您的是,当您的应用程序只打算在一台机器上运行时,您是否真的需要分布式体系结构。也许你想在以后的某个时候把它放大到多台机器上呢?这可能是一个理由。但是,如果计划仅在一台机器上运行应用程序,则应该考虑是否没有更简单的设置。
https://softwareengineering.stackexchange.com/questions/443735
复制相似问题