问题标签 [distributed-computing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
621 浏览

java - 使用 Java RMI 和 CORBA 进行分布式计算

以下是我面临的问题。我会用一个例子来解释它

如果有一个使用 Java RMI 的 IT 部门和另一个使用 CORBA 的部门,如果我碰巧整合了这两个部门

  1. 花最少的时间

  2. 用最少的预算

我可以采取哪些方法

有人可以帮我找到这个问题的答案。我真的很感激任何帮助

0 投票
1 回答
843 浏览

wcf - 分布式应用程序的 WCF 服务注册

我正在设计一个将使用 WCF 与客户端通信的客户端服务器应用程序。它可能会变得很重,并希望以分布式方式设计它。为此,我将应用程序拆分为多个服务。可以运行 N 个服务来处理请求。

  • 登录服务
  • 游戏服务
  • 客房服务
  • ETC

登录服务将能够在其上安装负载均衡器。然后它将请求发送到正在运行的游戏服务之一(可能有 N 个游戏服务在不同的机器上运行)。

我想弄清楚的是登录服务如何知道游戏服务。我可以想到(在这一点上真正的高水平)两个解决方案:

1) 当一个游戏服务出现时,它会在数据库中创建一条记录,说明它是谁以及它在哪里,登录服务会在那里检查以查找所有服务。这似乎有问题,服务下降,使列表保持最新。

2)当一个新服务加入时,它会联系一个登录服务,(不确定这会如何发生,假设某种关于如何找到它的硬编码),并向该服务注册。然后,登录服务可以维护一个 DHT 或其中的一些列表,以便他们知道将请求路由到哪里。

我是整个分布式应用程序世界的新手,并试图找出一种做事的好方法。这个项目部分是为了我自己的知识和收获,但我也希望它能发展成一个工作应用程序。

谢谢

0 投票
2 回答
2748 浏览

java - 从命令提示符运行 RMI 应用程序

我一直在开发一个(有些复杂的)应用程序,使用 RMI 来读取文件和 JSON 其内容。我一直在 Netbeans 6.7 上编写这个应用程序,因此我的文件夹结构如下:

在 C:\MyApp 下:

-建造

--- 课程

------- MyApp <--- 那是一个包。我的 .class 文件在那里。另外,我从这里运行了 rmiregistry。

-dist

---库

--------- [一些 .jar 库]

-src

...

[一些文件]

我的应用程序使用 dist\libs 文件夹中的库,并在 [Some files] 部分加载一个文件以从当前目录读取。

但是,每当我使用以下命令运行应用程序时:(来自 build\classes 文件夹)

我不断收到 ClassNotFoundException 错误和关于找不到我的 RMI 接口的错误列表。它运行的一次,它找不到我需要阅读的文件。(在我的应用程序中有 NullPointerException)。

你们能告诉我我做错了什么吗?我相信它与类路径有关。

此外,如果有一种方法可以从 Netbeans 本身运行 RMI 应用程序,那就太好了,但是我在四处搜索时找不到任何方法来做到这一点。

哦,rmiregistry 正在运行。我的策略文件包含一个简单的单行授权 All。

请帮忙!谢谢!

0 投票
2 回答
188 浏览

.net - 为将要合并的分布式数据创建唯一身份的最佳方法?

我有一个集中托管的数据库(MS SQL Server),分布式客户端通过 Internet 将数据保存到其中。当 Internet 连接中断时,客户端开始将新数据本地存储到 SQLite 实例中。当 Internet 连接恢复联机时,累积的本地数据将移动到中央数据库(插入)。

在这种情况下处理唯一 ID 的最佳方法是什么?其他重要信息:

  • 本地客户端可以在离线时记住他们的本地数据库 ID 以进行链接;因此,本地 ID 必须生成为全局唯一的。

  • 当合并回中央数据库时,不应更改本地数据库中的唯一 ID。

  • 未来可能会根据设备选择不同类型的数据库用于本地操作 - 例如 JavaDb、TextFileDb 等;因此我认为这个解决方案不应该使用单一的专有数据库功能。

  • 当更改合并回中央数据库时,所有记录都必须具有唯一的 ID。

对于这个问题,假设一个简单的表以MyTable字段命名:(ID主键/唯一键,无论应该是什么类型)和Field1, Field2,Field3后者并不重要。

首先想到的是使用 GUID。有没有比这更好的模式或实践或更好的方法来执行此操作?

编辑: 使用 Microsoft .NET 和 ADO.NET

0 投票
1 回答
89 浏览

parallel-processing - 处理流以查询同一数据集时的高效 MapReduce

我有一个庞大的静态数据集,并且我有一个函数可以应用于它。

f 的形式是 reduce(map(f, dataset)),所以我会使用 MapReduce 框架。但是,我不想在每个请求处分散数据(理想情况下,我想利用索引来加速 f)。有解决这种一般情况的 MapReduce 实现吗?

我已经查看了IterativeMapReduce,也许它可以完成这项工作,但似乎解决了一个稍微不同的情况,并且代码尚不可用。

0 投票
2 回答
8414 浏览

distributed-computing - 什么是分布式平台、上下文、嵌入式系统?

我正在阅读有关嵌入式系统的信息,并且有很多关于分布式平台的讨论。我正在寻找什么是分布式平台的定义,我模糊地认为它是当嵌入式系统控制多个断开连接的部件时,例如在直升机中,它需要控制尾桨和顶部旋翼,并测量加速度和位置等。

它是否正确?

时间触发架构应该“在分布式平台上提供同步执行”。

0 投票
6 回答
942 浏览

distributed-computing - 当你真的搞砸了分布式系统的设计时该怎么办?

相关问题: 分解集中式数据库的最有效方法是什么?

我将尝试使这个问题相当笼统,以便对其他人有益。

大约 3 年前,我实施了一个集成的 CRM 和网站。因为我想给客户留下深刻印象,所以我实现了我能想到的最便宜的架构,即在 Web 服务器上托管中央数据库和网站。我创建了一个桌面应用程序,它通过网络服务与网络服务器通信(这个应用程序从他们的主办公室运行)。

事后看来,这是相当愚蠢的,因为现在公司已经发展壮大,他们的互联网连接每个月都变得越来越慢。现在,由于速度问题,桌面软件定期超时,客户有 3 个选择:

  1. 购买更快的互联网连接。
  2. 将数据库(和网站)移动到内部服务器。
  3. 重新设计架构,使 CRM 和 Web 数据库分开。

第一个选择是“最简单的”,但肯定不是最便宜的长期。第二种选择;如果我们将网站转移到内部托管,客户必须解决诸如互联网连接过载/不良/离线、断电等问题。最后的选择;客户不愿意为我支付一大笔现金来重新设计和重新编码架构,而我负担不起免费这样做(我需要吃饭)。

当您将分布式系统的设计搞得如此糟糕,以至于所有选项都不起作用时,有什么方法可以恢复?还是减少损失并从错误中吸取教训?我感到很糟糕,没有快速解决这个问题。

0 投票
2 回答
606 浏览

network-programming - 对于分布式应用程序,ASIO 与 MPI 使用哪个?

我对此有点困惑。如果您正在构建一个分布式应用程序,在某些情况下可能会执行并行操作(尽管不一定是数学运算),您应该使用 ASIO 还是 MPI 之类的东西?我认为 MPI 比 ASIO 更高级别,但尚不清楚堆栈从何处开始。

0 投票
1 回答
272 浏览

python - 需要在 Ruffus 管道中运行函数之前制作一组文件

我正在使用 ruffus 编写管道。我有一个被并行调用多次的函数,它创建了几个文件。我想创建一个函数“combineFiles()”,在创建所有这些文件后调用该函数。由于它们在集群上并行运行,因此它们不会一起完成。我编写了一个函数“getFilenames()”,它返回需要创建的文件名集,但我怎样才能让 combineFiles() 等待它们出现呢?

我尝试了以下方法:

我也试过装饰器:

但这也不起作用。在生成 getFilenames 给出的文件之前,combineFiles 仍然会被错误地调用。如何使 combineFiles 以这些文件的存在为条件?

谢谢。

0 投票
2 回答
14655 浏览

hadoop - 什么是数据序列化系统?

根据 Apache AVRO 项目,“Avro 是一个序列化系统”。说数据序列化系统,是说avro是产品还是api?

另外,我不确定什么是数据序列化系统?目前,我的理解是它是一个定义数据对象如何通过网络传递的协议。谁能帮助以直观的方式解释它,以使分布式计算背景有限的人更容易理解?

提前致谢!