问题标签 [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.

0 投票
3 回答
1070 浏览

.net - 安全、可移植的加密配置值——可能吗?

我只是好奇是否有人对此有任何好主意。

我们有很多 C# windows 服务。每个应用程序都安装在多台机器上(从 2 到 80 个,取决于应用程序。)

由于网络的安全设置,我们不能(始终)对 SQL 服务器使用 Windows 身份验证,因此我们的连接字符串和凭据具有实际的用户名和密码。

我们的基础架构人员希望在部署软件时能够做到以下几点: 1) 编辑一次配置——为各种数据库连接设置适当的服务器、用户和密码。2) 将连接字符串(至少)加密或以其他方式肉眼无法读取 3) 将该配置文件复制到特定软件的所有安装。这意味着加密不能绑定到特定的机器。

DPAPI 可以做到这一点吗?可以在所有目标上安装一组密钥以允许解密通用配置文件吗?在这种情况下如何编辑配置?您如何防止其他用户以相同的方式查看加密配置?

0 投票
2 回答
516 浏览

visual-sourcesafe - Visual SourceSafe 支持分布式软件开发

我在分布式软件开发环境中工作。当前使用的 SCM 工具是 Visual SourceSafe 2005 Client/Server。我们正在尝试制定策略以最大限度地减少代码中断。我们可以使用 VSS 的哪些功能在分布式环境中实现更安全的 SCM?

有关此主题的 Internet 参考资料有什么建议吗?

最好的祝福

0 投票
3 回答
541 浏览

java - 在键值存储中处理集合(列表或集合)的最佳方法是什么?

我想知道当您的存储类似于 memcached 时,从一个非常大的列表中添加/删除项目的有效方法是什么?也许有一些带有Java接口的分布式存储可以很好地处理这个问题?

有人可能会推荐兵马俑。我知道,但这并不是我所需要的。;)

0 投票
9 回答
2069 浏览

algorithm - 如何在网络上的多台计算机上构建分布式健壮链表?

我正在考虑构建一个使用类似算法的raid(磁盘)的程序。如果一台电脑死机。下一个将介入。在它的位置。它需要从 1 到 1000 台计算机进行扩展。

我需要一些建议。

我需要学习的算法的名称是什么?

在某一时刻,我认为可以在 git 之上构建它。

0 投票
5 回答
4765 浏览

database - 分布式系统中的故障转移有哪些算法?

我正计划使用无共享架构多版本并发控制来制作分布式数据库系统。冗余将通过异步复制实现(只要系统中的数据保持一致,它就可以在发生故障时丢失一些最近的更改)。对于每个数据库条目,一个节点具有主副本(只有该节点对其具有写访问权限),此外,一个或多个节点具有条目的辅助副本以用于可伸缩性和冗余目的(辅助副本是只读的) . 当条目的主副本被更新时,它会被打上时间戳并异步发送到具有辅助副本的节点,以便最终他们将获得条目的最新版本。拥有主副本的节点可以随时更改 - 如果另一个节点需要写入该条目,它将请求主副本的当前所有者给该节点该条目的主副本的所有权,

最近我一直在思考当集群中的一个节点出现故障时该怎么办,使用什么策略进行故障转移。这里有一些问题。我希望您至少知道其中一些的可用替代品。

  • 在分布式系统中进行故障转移有哪些算法?
  • 分布式系统中有哪些共识算法?
  • 集群中的节点应该如何判断一个节点宕机了?
  • 节点应如何确定故障时哪些数据库条目在故障节点上有其主副本,以便其他节点可以恢复这些条目?
  • 如何确定哪些节点具有某个条目的最新辅助副本?
  • 如何决定应该将哪个节点的辅助副本提升为新的主副本?
  • 本来以为down的节点突然又像什么都没发生一样怎么处理?
  • 如何避免出现裂脑场景,网络暂时一分为二,双方都认为对方已经死了?
0 投票
1 回答
380 浏览

design-patterns - 本地与集中处理

我在一家拥有大量 SAP 投资的公司工作,我们还有数十个大型 .Net 系统(主要用于内部工程系统)和 Java 平台(主要用于外部 Web 应用程序)。因此,我们在 ABAP、C# 和 Java EE 上有大型开发商店。

我们有 20 多个主要设施分布在很远的距离、2 个数据中心和 600 个左右的小型设施,分布在城市、农村和偏远地区(想想靠近北极)

对于在每个功能域中使用哪个平台,我们有很好的标准,但是对于何时使用本地处理以及何时使用分布式(中央)处理,我们并不清楚。(即,胖客户端与瘦客户端)

我想根据最佳实践构建一个决策树来帮助解决这个问题。我过去看到的一些标准包括:

  • 将安装应用程序的任何地方都有可靠的网络吗?(如果不是,本地处理可能是更好的选择)
  • 应用程序是否需要实时数据?(如果是,集中处理可能是更好的选择)
  • 应用程序是否需要密集的 CPU 工作或高磁盘 IO?(如果是,集中处理或密集的本地处理可能是选项)
  • 应用程序是否需要离线功能?(如果是,本地处理可能是更好的选择)
  • 在远程环境中整合数据是否存在安全问题?(如果是,使用分布式瘦客户端进行集中处理可能是更好的选择)
  • 站点上是否有可用于运行应用程序的现有硬件?(如果是,集中处理可能是一个不错的选择:瘦客户端的部署和维护成本更低,它们更安全,对窃贼而言价值更低)
  • 是否存在同一个用户组正在使用的现有应用程序,这些应用程序是如何部署的?(通过将应用程序整合到一种设计模式中可能会产生规模经济)
0 投票
3 回答
5272 浏览

php - php中有哪些好的分布式队列管理器?

我正在一个图像处理网站上工作,而不是让冗长的工作阻止用户浏览器,我希望所有命令都能快速返回一个工作 ID,并让后台任务完成实际工作。然后可以使用 id 来检查状态和结果(即处理图像的 url)。我找到了很多用于 ruby​​、java 和 python 的分布式队列管理器,但我对这些语言的了解还不够多,无法使用它们。

我自己的测试是使用共享 mysql 数据库对作业进行排队,将它们锁定到工作人员,并将它们标记为已完成(将返回数据保存在数据库中)。这只是一个凌乱的原型,整个过程我都觉得自己好像在重新发明轮子(而且不是很优雅)。php 中是否存在我可以使用的东西(或者我可以与 RESTfully 交谈?)?

阅读更多,我发现我正在寻找的是一个具有 php api 的排队系统,它不必用 php.ini 编写。我只找到了与 Amazon 的 SQS 一起使用的类,但这不仅不是免费的,而且有时还很隐蔽(超过一分钟才能显示一条消息)。

0 投票
2 回答
963 浏览

sql-server - SQL Server 2000-2005-2008 分布式查询问题

只需设置一个新服务器。试图将一些工作量从一个转移到另一个。一切看起来都很棒,除非我来运行这段代码:

顺便说一句,以下工作正常:

两者之间的唯一区别是服务器名前缀(p2pindexda 与 sql2k801)。我已验证链接服务器具有相同的选项集。此外,我已经验证 exec 语句工作正常......即:它按预期返回结果。

当我尝试将结果插入本地临时表时,它会变得糟糕。

是什么赋予了?

0 投票
1 回答
1450 浏览

c# - 互斥存储过程

我想使用数据库表创建一些分布式互斥。在存储过程上有以下接口会很好:

等待(唯一标识符)

我最初是想通过一个唯一标识符表来实现这一点。对该过程的调用将一直等到表中不存在唯一标识符。但是,我不确定当从表中删除指定的唯一标识符时如何使调用线程唤醒。

有任何想法吗?如果数据库不是执行此操作的正确位置,是否有任何第三方工具可以工作(最好是开源的)?

(为了避免死锁,我要么想在等待操作中包含一个超时,要么让 SqlCommand 有一个超时)

0 投票
8 回答
12527 浏览

windows - 在 Windows 网络中启动远程进程

我有几台从机和一台主机,它们一起运行分布式应用程序。每台从机上的进程都必须具有 GUI 和网络访问权限(我认为那时它会被称为交互式进程)。为了便于使用,如果主机可以启动/停止那些从机上的进程,那就太好了。

我的第一个想法是使用 WMI 和 Win32_Process 类来启动远程进程,但经过进一步调查,发现以这种方式启动的进程是非交互的和隔离的,因此不能有任何 GUI。一个注释说可以使用 Win32_ScheduledJob.Create 来创建一个远程交互进程,但它在我想避免的 LocalSystem 帐户下运行(我什至无法让它正常运行)。

解决这个问题的好方法是什么?也许可以启动一个辅助应用程序,然后启动一个正确的进程,但这似乎很脏。

编辑:当我尝试 PsExec 时,它真的很笨重,而且速度很慢(不知道为什么)。进一步看 PsExec,它似乎在远程机器上安装了一个临时服务来启动应用程序。这会是使用正确身份生成交互式过程的唯一方法吗?我应该在节点的设置中包含一个帮助服务吗?但即便如此,我将如何与它沟通呢?