问题标签 [distributed-system]

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 回答
3149 浏览

java - “分布式单元测试”的框架或工具?

是否有任何工具或框架能够更轻松地测试用 Java 编写的分布式软件?我的被​​测系统是一个点对点软件,我想使用类似PNUnit的东西进行测试,但使用 Java 而不是 .Net。

被测系统是我正在开发的用于构建 P2P 应用程序的框架。它使用JXTA作为较低的子系统,试图隐藏它的一些复杂性。它目前是一个学术项目,所以我现在追求简单。

在我的测试中,我想证明一个节点(在自己的进程中运行,可能有多个线程)可以发现另一个节点(在另一个进程甚至另一台机器中运行)并且它们可以交换一些消息。我没有使用模拟或存根,因为我需要看到双方同时工作。我意识到需要某种协调机制,而 PNUnit 似乎能够做到这一点。

我遇到了一些像Pisces这样的计划,它“旨在提供一个扩展 JUnit 的分布式测试环境,使开发人员/测试人员能够运行远程 JUnit 并创建由多个并行运行的远程 JUnit 测试组成的复杂测试套件或连续”,但这个项目和我发现的其他一些项目似乎早已死去。

0 投票
5 回答
9958 浏览

java - 如何使我的 Java Swing 应用程序成为客户端-服务器应用程序?

我制作了一个 Java Swing 应用程序。现在我想让它成为一个客户端-服务器应用程序。当服务器上的数据发生更改时,应该通知所有客户端,所以我不是在寻找 Web 服务。Client-Server 应用程序将在单个 LAN 上运行,它是一个业务应用程序。服务器将包含一个数据库 JavaDB。

什么技术和库最容易上手?我应该使用 Sockets 从头开始​​实现它,还是应该使用 Java RMI 或 JMS?还是有其他更容易开始的替代方案?

有没有我应该使用的服务器库?码头是替代品吗?

0 投票
1 回答
285 浏览

database - 分布式事务的完整性和机密性

我有一个关于分布式事务的问题。假设我有 3 个事务程序:

交易A

  1. 开始
  2. a=读取(A)
  3. b=读取(B)
  4. c=a+b
  5. 写(C,C)
  6. 犯罪

交易 B

  1. 开始
  2. a=读取(A)
  3. a=a+1
  4. 写(一,一)
  5. 犯罪

交易 C

  1. 开始
  2. c=读取(C)
  3. c=c*2
  4. 写(A,C)
  5. 犯罪

所以有5对关键操作:C2-A5、A2-B4、B4-C4、B2-C4、A2-C4。

我应该确保完整性机密性,您知道如何实现吗?

先感谢您!

0 投票
7 回答
306 浏览

distributed-system - 旅游软件。这是一个概念吗?

我想问是否存在一个程序,该程序旨在穿越地球(例如跟随一些物理力),可能占用和释放计算资源/节点。从字面上看,这意味着某些基于代理的系统只是定期更改其位置和(在某种程度上不可避免地)配置。

一个例子是:假设你有外部传感器,以及跨空间的空闲计算机 - 节点;自我复制代理以跟随传感器的初始化程序是否有意义,但是以这种限制性的方式使计算仅本地化在物理业务进行的地方。

我想强调这个问题只是为了“理论上”的乐趣,因为除了优化“过时”(取代?)代理处置之外,我看不到所提到的限制的任何实际好处。但也许它可能会引起一些兴趣。谢谢!

编辑:很明显,病毒是合适的例子,尽管开发人员很少担心删除此类代理。更准确地说,我对“旅行”软件感兴趣——也就是说,当代理的数量(或至少顺序)是恒定的,而旅行的只是整个系统。

0 投票
1 回答
2629 浏览

parallel-processing - MPI 大数据全对全传输

我的 MPI 应用程序有一些生成一些大数据的过程。假设我们有 N+1 个进程(一个用于主控,其他是工作进程),每个工作进程都会生成大数据,现在只是写入普通文件,命名为 file1,file2,...,fileN。每个文件的大小可能完全不同。现在我需要将所有文件 M 发送到排名 M 进程以完成下一项工作,所以这就像所有数据传输一样。

我的问题是我应该如何使用 MPI API 有效地发送这些文件?我以前使用Windows共享文件夹来传输这些,但我认为这不是一个好主意。

我考虑过 MPI_file 和 MPI_All_to_all,但这些函数似乎不太适合我的情况。简单的 MPI_Send 和 MPI_Recv 似乎很难使用,因为每个进程都需要传输大数据,我暂时不想使用分布式文件系统。

0 投票
1 回答
138 浏览

performance - web应用测试框架建议

有人对 Web 应用程序测试框架有很好的经验吗?我们正在为我们的用 C#、ASP.NET 等编写的应用程序选择一个,但框架可以是任何东西(当然,除非选择一个用 C# 编写的有帮助)。

应用程序是分布式的。我们想要的(理想情况下)是:

  1. 可以从测试单个组件(~单元测试)扩展到更大的部分,再到整个系统。
  2. 可以收集时间戳日志、测量值等并在问题发生时帮助放大问题的东西。
  3. 不同技能水平的开发人员可以轻松编写脚本。
0 投票
1 回答
1139 浏览

distributed - 开放分布式计算研究问题/主题?

嘿嘿,

我最近阅读了 Lamport、Fischer、Lynch、Brewer 的很多论文,以了解他们对分布式系统的看法。

我想知道,当前开放的分布式计算研究问题/主题是什么?数据库、通信、容错、数字运算等许多领域似乎都得到了解决,并且掌握在相当扎实的手中。

您认为什么是新领域,也许有人过去确实想过,但现在不可能了,现在变得可能了?图算法/数据库/分析之类的主题?

如果有人能提供一些关于分布式系统的必读论文,我也将不胜感激。它们也可以是一个更“科幻”的东西,以保持灵感。

0 投票
5 回答
14257 浏览

programming-languages - 分布式系统的编程语言

我已经在 C++ 中进行了一段时间的套接字编程,并且有点厌倦了必须编写相同的代码来处理错误、序列化/反序列化数据等。

有没有对分布式系统提供一流支持的编程语言?

0 投票
3 回答
439 浏览

networking - 分析网络流量

识别网络行为的最佳方法是什么?端口/接口和路由器的行为?我可以获取数据并分析流量,但会尝试寻找有意义的分类模式。任何帮助表示赞赏。

谢谢

0 投票
1 回答
958 浏览

java - 如何使用分布式证书生成 Axis2 XML 签名

我有点问题。

我们有一个集中的接口引擎,它将与一个提供信息补充并允许向外部系统提交请求的 Web 服务通信。在我们必须将其与该提供商所需的安全性集成之前,所有这些都很好。

他们颁发通过智能卡(USB 密钥)分发的证书,最终用户必须使用这些证书让软件与所述系统(Web 服务)进行交互。他们坚持对最终用户的 USB 密钥上的证书进行(有时是多个)签名。当然,私钥是受密码保护的。

如何将最终处理所有这些的 Axis2 连接到最终用户计算机上的证书。

该系统主要是 Delphi 5 中遗留的胖客户端应用程序,接口引擎主要与数据库交互。现在我们已经成功地连接了一段代码,该代码通过一个简单的 TCP 套接字有效地将最终用户的站点连接到接口服务器。

----编辑----

我们在 CXF(我们从 Axis 更改)中使用定制的签名拦截器实现了解决方案,它将消息内容转发到签名代理,该代理会找到并连接在原始请求来自的用户交互会话上运行的正确签名服务。

我接受了 Eugene 的回答,因为即使我们没有使用他指定的组件,我们也确实按照他的建议的一般准则实施了解决方案。

由于 USB 令牌,签名必须在用户交互会话中完成,这是无可避免的事实。由于我们使用遗留系统以及需要让系统在共享环境(远程桌面服务器)中工作,因此施加了额外的限制。尽管 Web 服务框架或加密库可能不自然地支持它。