首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有分布式组件的桌面应用程序的体系结构审查

具有分布式组件的桌面应用程序的体系结构审查
EN

Software Engineering用户
提问于 2023-02-01 21:50:34
回答 1查看 104关注 0票数 1

我们计划用几个web组件构建一个桌面应用程序。我想知道这个建筑有多有弹性。

从本质上说,设计看起来就像

  1. 将web组件与桌面应用程序混合是可能的,但是后端服务器正在本地主机上运行。这是个好主意吗
  2. ZeroMQ是一个用于消息处理的分布式排队系统。作为订阅者的处理器接收消息,处理它们并将结果推回队列。随后,后端再次拿起它并将通知推送给客户端。

在此设计中,是否存在任何可能的缺陷,因为所有的东西都在运行本地主机?我担心的是对本地主机上运行的服务器组件的依赖。在生产软件中在本地主机上运行分布式组件是否实用?

这种设置是否会导致运行时环境中的不稳定情况,特别是因为桌面应用程序正在与同一台机器上的后端服务器对话?

EN

回答 1

Software Engineering用户

发布于 2023-02-02 06:55:52

在一台机器上运行分布式应用程序并不会使其“不那么稳定”,只要不同的组件不需要单台机器上太多的可用CPU和内存资源。恰恰相反,本地TCP/IP连接通常比复杂的LAN或WAN上的连接更安全,后者的硬件和软件组件(如电缆、交换机、路由器或VPN组件)正在中间工作。在本地机器上使用网络协议是实现进程间通信的常用方法。

另一方面,人们必须意识到,单机也是一个单一的故障点。在多台机器设置中,可能存在多个故障点,但替换单个失败组件可能更容易(直到某个数据中心自动发生故障)。

因此,您必须关注数据的备份和硬件的冗余,直到它符合您的安全要求。然而,对于多台机器的设置,该语句也是正确的。

我不能告诉您的是,当您的应用程序只打算在一台机器上运行时,您是否真的需要分布式体系结构。也许你想在以后的某个时候把它放大到多台机器上呢?这可能是一个理由。但是,如果计划仅在一台机器上运行应用程序,则应该考虑是否没有更简单的设置。

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/443735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档