问题标签 [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.
.net - 安全、可移植的加密配置值——可能吗?
我只是好奇是否有人对此有任何好主意。
我们有很多 C# windows 服务。每个应用程序都安装在多台机器上(从 2 到 80 个,取决于应用程序。)
由于网络的安全设置,我们不能(始终)对 SQL 服务器使用 Windows 身份验证,因此我们的连接字符串和凭据具有实际的用户名和密码。
我们的基础架构人员希望在部署软件时能够做到以下几点: 1) 编辑一次配置——为各种数据库连接设置适当的服务器、用户和密码。2) 将连接字符串(至少)加密或以其他方式肉眼无法读取 3) 将该配置文件复制到特定软件的所有安装。这意味着加密不能绑定到特定的机器。
DPAPI 可以做到这一点吗?可以在所有目标上安装一组密钥以允许解密通用配置文件吗?在这种情况下如何编辑配置?您如何防止其他用户以相同的方式查看加密配置?
visual-sourcesafe - Visual SourceSafe 支持分布式软件开发
我在分布式软件开发环境中工作。当前使用的 SCM 工具是 Visual SourceSafe 2005 Client/Server。我们正在尝试制定策略以最大限度地减少代码中断。我们可以使用 VSS 的哪些功能在分布式环境中实现更安全的 SCM?
有关此主题的 Internet 参考资料有什么建议吗?
最好的祝福
java - 在键值存储中处理集合(列表或集合)的最佳方法是什么?
我想知道当您的存储类似于 memcached 时,从一个非常大的列表中添加/删除项目的有效方法是什么?也许有一些带有Java接口的分布式存储可以很好地处理这个问题?
有人可能会推荐兵马俑。我知道,但这并不是我所需要的。;)
algorithm - 如何在网络上的多台计算机上构建分布式健壮链表?
我正在考虑构建一个使用类似算法的raid(磁盘)的程序。如果一台电脑死机。下一个将介入。在它的位置。它需要从 1 到 1000 台计算机进行扩展。
我需要一些建议。
我需要学习的算法的名称是什么?
在某一时刻,我认为可以在 git 之上构建它。
database - 分布式系统中的故障转移有哪些算法?
我正计划使用无共享架构和多版本并发控制来制作分布式数据库系统。冗余将通过异步复制实现(只要系统中的数据保持一致,它就可以在发生故障时丢失一些最近的更改)。对于每个数据库条目,一个节点具有主副本(只有该节点对其具有写访问权限),此外,一个或多个节点具有条目的辅助副本以用于可伸缩性和冗余目的(辅助副本是只读的) . 当条目的主副本被更新时,它会被打上时间戳并异步发送到具有辅助副本的节点,以便最终他们将获得条目的最新版本。拥有主副本的节点可以随时更改 - 如果另一个节点需要写入该条目,它将请求主副本的当前所有者给该节点该条目的主副本的所有权,
最近我一直在思考当集群中的一个节点出现故障时该怎么办,使用什么策略进行故障转移。这里有一些问题。我希望您至少知道其中一些的可用替代品。
- 在分布式系统中进行故障转移有哪些算法?
- 分布式系统中有哪些共识算法?
- 集群中的节点应该如何判断一个节点宕机了?
- 节点应如何确定故障时哪些数据库条目在故障节点上有其主副本,以便其他节点可以恢复这些条目?
- 如何确定哪些节点具有某个条目的最新辅助副本?
- 如何决定应该将哪个节点的辅助副本提升为新的主副本?
- 本来以为down的节点突然又像什么都没发生一样怎么处理?
- 如何避免出现裂脑场景,网络暂时一分为二,双方都认为对方已经死了?
design-patterns - 本地与集中处理
我在一家拥有大量 SAP 投资的公司工作,我们还有数十个大型 .Net 系统(主要用于内部工程系统)和 Java 平台(主要用于外部 Web 应用程序)。因此,我们在 ABAP、C# 和 Java EE 上有大型开发商店。
我们有 20 多个主要设施分布在很远的距离、2 个数据中心和 600 个左右的小型设施,分布在城市、农村和偏远地区(想想靠近北极)
对于在每个功能域中使用哪个平台,我们有很好的标准,但是对于何时使用本地处理以及何时使用分布式(中央)处理,我们并不清楚。(即,胖客户端与瘦客户端)
我想根据最佳实践构建一个决策树来帮助解决这个问题。我过去看到的一些标准包括:
- 将安装应用程序的任何地方都有可靠的网络吗?(如果不是,本地处理可能是更好的选择)
- 应用程序是否需要实时数据?(如果是,集中处理可能是更好的选择)
- 应用程序是否需要密集的 CPU 工作或高磁盘 IO?(如果是,集中处理或密集的本地处理可能是选项)
- 应用程序是否需要离线功能?(如果是,本地处理可能是更好的选择)
- 在远程环境中整合数据是否存在安全问题?(如果是,使用分布式瘦客户端进行集中处理可能是更好的选择)
- 站点上是否有可用于运行应用程序的现有硬件?(如果是,集中处理可能是一个不错的选择:瘦客户端的部署和维护成本更低,它们更安全,对窃贼而言价值更低)
- 是否存在同一个用户组正在使用的现有应用程序,这些应用程序是如何部署的?(通过将应用程序整合到一种设计模式中可能会产生规模经济)
php - php中有哪些好的分布式队列管理器?
我正在一个图像处理网站上工作,而不是让冗长的工作阻止用户浏览器,我希望所有命令都能快速返回一个工作 ID,并让后台任务完成实际工作。然后可以使用 id 来检查状态和结果(即处理图像的 url)。我找到了很多用于 ruby、java 和 python 的分布式队列管理器,但我对这些语言的了解还不够多,无法使用它们。
我自己的测试是使用共享 mysql 数据库对作业进行排队,将它们锁定到工作人员,并将它们标记为已完成(将返回数据保存在数据库中)。这只是一个凌乱的原型,整个过程我都觉得自己好像在重新发明轮子(而且不是很优雅)。php 中是否存在我可以使用的东西(或者我可以与 RESTfully 交谈?)?
阅读更多,我发现我正在寻找的是一个具有 php api 的排队系统,它不必用 php.ini 编写。我只找到了与 Amazon 的 SQS 一起使用的类,但这不仅不是免费的,而且有时还很隐蔽(超过一分钟才能显示一条消息)。
sql-server - SQL Server 2000-2005-2008 分布式查询问题
只需设置一个新服务器。试图将一些工作量从一个转移到另一个。一切看起来都很棒,除非我来运行这段代码:
顺便说一句,以下工作正常:
两者之间的唯一区别是服务器名前缀(p2pindexda 与 sql2k801)。我已验证链接服务器具有相同的选项集。此外,我已经验证 exec 语句工作正常......即:它按预期返回结果。
当我尝试将结果插入本地临时表时,它会变得糟糕。
是什么赋予了?
c# - 互斥存储过程
我想使用数据库表创建一些分布式互斥。在存储过程上有以下接口会很好:
等待(唯一标识符)
我最初是想通过一个唯一标识符表来实现这一点。对该过程的调用将一直等到表中不存在唯一标识符。但是,我不确定当从表中删除指定的唯一标识符时如何使调用线程唤醒。
有任何想法吗?如果数据库不是执行此操作的正确位置,是否有任何第三方工具可以工作(最好是开源的)?
(为了避免死锁,我要么想在等待操作中包含一个超时,要么让 SqlCommand 有一个超时)
windows - 在 Windows 网络中启动远程进程
我有几台从机和一台主机,它们一起运行分布式应用程序。每台从机上的进程都必须具有 GUI 和网络访问权限(我认为那时它会被称为交互式进程)。为了便于使用,如果主机可以启动/停止那些从机上的进程,那就太好了。
我的第一个想法是使用 WMI 和 Win32_Process 类来启动远程进程,但经过进一步调查,发现以这种方式启动的进程是非交互的和隔离的,因此不能有任何 GUI。一个注释说可以使用 Win32_ScheduledJob.Create 来创建一个远程交互进程,但它在我想避免的 LocalSystem 帐户下运行(我什至无法让它正常运行)。
解决这个问题的好方法是什么?也许可以启动一个辅助应用程序,然后启动一个正确的进程,但这似乎很脏。
编辑:当我尝试 PsExec 时,它真的很笨重,而且速度很慢(不知道为什么)。进一步看 PsExec,它似乎在远程机器上安装了一个临时服务来启动应用程序。这会是使用正确身份生成交互式过程的唯一方法吗?我应该在节点的设置中包含一个帮助服务吗?但即便如此,我将如何与它沟通呢?