问题标签 [distributed]
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.
distributed - 远程进程管理协议
简而言之:是否有任何已知的远程进程管理协议?
我有一个包含多个应用程序的系统,每个应用程序在本地网络中都有自己的计算机。当应用程序启动并运行时,它们可以毫无问题地进行通信。
我感兴趣的是管理远程应用程序启动、关闭和监控的协议。通过监控,我的意思是在出现问题时获取错误代码(预定义)。理想情况下,我会通过一个管理应用程序控制整个系统并了解正在发生的事情。
我曾经在一个编写内部协议的地方工作过。但是,如果有人已经弄清楚了,我希望避免再次编写它。
编辑:更多细节:
- 使用的平台是 x86 上的 Windows 和 Linux。
- 在 Windows 上,使用 C/C++ 和 .NET。在 Linux 上,C/C++。
java - 分布式项目中的负载均衡
有谁知道一个简单的负载平衡算法(公式),它将连接的用户、cpu 负载、网络负载和内存使用情况联系起来?这将用于比较各种服务器并分配给新用户目前最好的。谢谢你。
agile - 分布式开发团队 - 所需工具
我有一个开发人员团队,分布在全球不同时区。
在这样的团队中实现最大生产力的最佳工具是什么?
我在寻找:
- 源代码控制
- 错误跟踪
- 构建管理
- 任何其他可能有帮助的事情
谢谢
erlang - 出于学习目的,在 Erlang 中有哪些有趣的项目需要解决?
我最近发现了 Erlang,现在正在学习一些教程。到目前为止,我期待着将一些东西作为一个爱好项目来实际实施。我对另一个聊天服务器并不感兴趣。我想编写一些更有趣的代码(是的,我知道这是一个相当模糊的术语),这也是易于管理的,所以我可以在业余时间完成它。
有什么建议么?
编辑:该项目最好突出 Erlang 的优势(并发、分布式)。
java - 通过容器会话管理在 Java 中使用 POJO RPC 比 JBoss 更简单
目前,我只知道一种在 Java 中为 POJO 执行 RPC 的方法,并且是使用非常复杂的 EJB/JBoss 解决方案。
有没有更好的方法来提供具有更薄层(在 Java EE 容器内或没有 Java EE 容器内)的类似功能,使用 RMI 或可以通过网络序列化和发送完整对象的东西?
我目前对 HTTP/JSON 序列化 BTW 不感兴趣。
编辑:澄清:我正在尝试用更易于在容器级别管理的东西替换旧的 EJB 2.1/JBoss 4 解决方案。我需要完全控制数据库(计划使用 iBATIS,这将允许我非常轻松地使用相当复杂的 SQL),但我想要保留的唯一内容是:
- 调用查找/数据修改方法(此处为自动序列化)。
- 透明的会话控制(认证/授权)。我仍然需要看看如何做到这一点。
当然,这两个项目都必须作为一个整体工作。不应授予没有凭据的用户访问权限。
因为我不太喜欢编写 webapps,所以我计划构建一个 GUI(Swing 或 SWT),它只管理 POJO、做一些报告并从容器调用方法。我希望序列化尽可能简单。
makefile - 用于 linux 的免费安全分布式 make 系统
是否有任何安全且免费的与语言无关的 Linux 分布式 make 系统?
背景资料:
我运行的科学实验(计算机科学实验)有时会有很大的依赖树,有时会有数千或数万个树节点。此依赖关系树位于数据文件、数据处理可执行文件和结果文件之上。
多年来,我尝试了各种技术,包括:
- 使用数据库滚动我自己的依赖跟踪器并在每台工作机器上运行脚本。这可能会有点麻烦,尤其是在尝试使用非脚本语言时。
- 将所有处理命令放在单个 makefile 中,伪目标可以在不同的工作机器上手动“构建”。这不需要特殊工具,但是手动将工作分解为大小均匀的伪目标块并在每个工作盒上正确调用“make”可能会很痛苦。
- distmake:自动分发来自单个 makefile 的命令的执行...
我基本上在寻找类似 distmake 的东西,但更安全。据我所知,distmake 本质上为每个工作节点留下了一个敞开的后门。
如果替代品比 distmake 更强大,那也很好。如果您中断主 distmake 调用,它可以关闭后门服务器,但它不会正确终止工作节点上的执行进程。
说明:
我正在使用 makefile 处理数据,而不是使用 gcc 编译和链接。从我在文档中看到的内容来看,distcc 是一个专门用于分发 gcc 的工具。我将在共享文件系统上托管的非常大的数据文件上运行我自己的可执行文件,而不是在源文件上运行 gcc,因此 distcc 没有帮助。
工作节点是外部可见的机器,所以我希望任何工作守护进程至少与 ssh 一样安全。尽我所能在不阅读源代码的情况下判断,distmake worker 守护进程会打开一个端口,并将接受来自任何附加到它的人的命令。他们将以启动守护程序的用户身份执行命令。
dns - 跨域故障转移设计,DNS 级故障转移?
我对 web 应用程序的跨 colo 故障转移策略感兴趣,这样如果主站点发生故障,用户可以无缝地登陆另一个 colo 的故障转移站点。
事物的应用程序方面看起来主要是通过在 colo 和服务之间的主从数据库设置来解决的,这些服务旨在恢复并能够在中途获取。我试图找出将流量从主站点转移到故障转移站点的策略。DNS 故障转移,即使 TTL 较低,似乎也有相当长的延迟。
假设主 colo 的服务器无法访问,您会推荐哪些策略来在 colo 之间快速移动流量?
如果您有其他关于跨域故障转移的有趣经验/智慧之言,我也很想听听这些。
distributed - 协调多个服务器之间的任务
是否有一个实用程序/库可以促进多台服务器之间的任务协调?对我来说,我需要运行计划任务,在服务器之间复制大量数据,并重新启动进程(在集群中不同机器上发生的一系列相关操作)。
我可以使用 cronjobs 和批处理脚本,尽管我不禁想到有一种更强大、更优雅的方式来解决这个问题。
java - 是否可以通过 JMX 管理 C++ 应用程序?
我们有一个包含 C++ 和 Java 模块的分布式应用程序,通过 CORBA 进行交互。
是否有任何 C++ 库/工具可以将“变量”和“方法”暴露给 JMX 工具(以创建统一管理)?
time - 分布式时间同步和 Web 应用程序
我目前正在尝试构建一个应用程序,该应用程序本质上需要跨服务器和每个客户端进行良好的时间同步。我的应用程序有一些替代设计可以消除这种同步需求,但是当它不存在时,我的应用程序很快就会开始变得糟糕。
万一我遗漏了什么,我的基本问题是:同时在多个位置触发一个事件。据我所知,这样做的唯一方法需要某种时间同步,但我可能错了。我尝试以不同的方式对问题进行建模,但这一切都归结为a)一个糟糕的应用程序,或者b)需要时间同步。
假设我真的真的需要同步时间。
我的应用程序是基于 Google AppEngine 构建的。虽然 AppEngine 不保证其服务器之间的时间同步状态,但通常它非常好,大约几秒钟(即比 NTP 好),但有时它很糟糕,比如说,大约 10 秒的同步。我的应用程序可以处理 2-3 秒的不同步,但就用户体验而言,10 秒是不可能的。所以基本上,我选择的服务器平台并没有提供非常可靠的时间概念。
我的应用程序的客户端部分是用 JavaScript 编写的。同样,我们遇到客户也没有可靠的时间概念的情况。我没有进行任何测量,但我完全希望我的一些最终用户拥有设置为 1901、1970、2024 等的计算机时钟。所以基本上,我的客户端平台不提供可靠的时间概念。
这个问题开始让我有点抓狂。到目前为止,我能想到的最好的事情就是在 HTTP 之上实现类似 NTP 的东西(这并不像听起来那么疯狂)。这将通过在 Internet 的不同部分调试 2 或 3 台服务器来实现,并使用传统方式(PTP、NTP)来确保它们的同步至少在数百毫秒的数量级上。
然后,我将创建一个 JavaScript 类,该类使用这些 HTTP 时间源(以及可从 XMLHTTPRequest 获得的相关往返信息)实现 NTP 交集算法。
如您所知,此解决方案也很浪费时间。它不仅非常复杂,而且只解决了一半的问题,即让客户对当前时间有一个好的概念。然后我必须在服务器上妥协,要么允许客户端在他们发出请求时根据他们告诉服务器当前时间(大安全性不行,但我可以减轻一些更明显的滥用),或者让服务器向我的一个神奇的 HTTP-over-NTP 服务器发出单个请求,并希望该请求足够快地完成。
这些解决方案都很糟糕,我迷路了。
提醒:我想要一堆网络浏览器,希望多达 100 个或更多,能够同时触发一个事件。