问题标签 [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.
java - Java:跨多个服务器同步线程
我有一个问题,我需要为 Windows 上的 Java 服务跨多个不同服务器同步处理多个线程。
在这个应用程序中,我有多个消费者线程从同一个 JMS 队列中提取消息。消息以 3 或 4 组的形式出现,我需要确保每个组中的消息完全按串行方式处理。我需要某种同步机制来确保线程 1 拉出一条消息,然后线程 2 从该组中拉下一条消息,线程 2 在开始处理它的消息之前等待线程 1 完成处理。
关于线程的分布式同步机制有什么建议吗?任何类型的解决方案都是好的(JMS 解决方案、分布式缓存等)
注意:我们使用的 JMS 提供者是 ActiveMQ。
biztalk - 在同步系统中协调数据
我的情况是,一个 Oracle 系统是两个独立 CRM 系统(PeopleSoft 和 Siebel)的数据主控系统。Oracle 系统向 BizTalk 发送 CRUD 消息以获取客户数据、库存数据、产品信息和产品定价。BizTalk 格式化消息并将其转发到 PeopelSoft 和 Siebel Web 服务接口以供操作。在数据初始同步后,正在进行的操作造成了一种情况,即尽管数据已成功交付,但外围 Siebel 和 PeopleSoft 系统中的数据仍不准确(这是关于这些系统在返回“成功”时的含义的另一个对话' 到 BizTalk)。
在这种分布式的面向服务的方法中,其他类似的实现如何协调系统数据?他们是否从所有系统定期转储以进行比较?是否有任何其他技术或方法来发现失败的更新并确保同步?
感谢您的想法和经验。谢谢!
附加信息
那么为什么系统会不同步呢?当目标系统向 BizTalk 确认它已收到消息时,这意味着很多事情。有时 HTTP 200 意味着我已经得到它并将它放在临时表中,然后我会提交它。有时这是成功的,有时不是因为各种数据问题。有时 HTTP 200 意味着……是的,我已经收到并提交了数据。使用 HTTP,订单交付可能会出现问题。所有这些问题都可以通过预先进行大量的架构规划来解决。它没有完成。没有更新/创建时间戳来防止无序交付踩到数据。没有来自目的地系统的数据通信的完整往返确认。所有这些都导致事情变得不同步。
database - 异构数据库系统在实践中吗?
我在数据库领域进行了一些探索,并提出了拥有异构数据库的概念。我用谷歌搜索并找到了这个 -链接文本
我的问题是什么样的场景可以将其付诸实践,它真的有用吗?是否只是另一件被考虑但未实施的事情,或者如果实施了,那么它被限制在一个非常利基的领域?
干杯
java - 任何与 JMX 一起工作的 WS-DM 的开源实现?
WS-DM 是一种等效于 JMX 的 Web 服务。我正在寻找一个开源实现......
erlang - Erlang 是专为在单个多核机器上运行而设计的,还是可以分发进程?
我的应用程序在我的四核机器上运行良好。它是“令人尴尬的并行”,大约有 10 万个进程,因此非常适合在机器集群上运行。但是,我很难找到有关如何将所有这些进程分散到集群中所有可用节点上的文档。
分布式 Erlang 的文档似乎侧重于服务器-客户端应用程序,其中每个节点都是运行单个应用程序的客户端,您可以手动指定哪个节点运行哪个进程。
wcf - 在多层架构中放置语言翻译的位置
我构建了一个具有以下层的应用程序:
- WEB表示层
- 业务逻辑层 - BLL - 通过 HTTP Web 服务从 WEB UI 调用
- WindowsService - 运行时 - 通过 net.pipe 从 BLL 调用
BLL 也可以从第 3 方调用以集成到其他客户的系统中。
假设在运行时甚至 BLL 中发生了验证错误。哪里最好放翻译:
- 在异常消息中 - 表示我们必须将 UICulture 从 WEB 层发送到较低层
- BLL 和 Runtime 正在返回错误代码或自定义 Exception 派生类型,并在 WEB UI 层执行翻译
- 其他一些方法
在 SOA 架构中支持多种语言的最佳实践是什么?
编辑:我可能应该使用术语层而不是层。
- WEB UI 层在 ASP.NET Web 表单中实现,将部署在 IIS 下的服务器 A 上。
- BLL 和 Runtime 将部署在服务器 B 上,但由进程边界分隔(由于 WCF 服务,BLL 在 ASP.NET 工作进程下运行,而 Runtime 作为独立的 Windows 服务进程运行)。
distributed - 分布式项目管理/错误跟踪
现在我们有了 DSCM,是否有任何分发的项目管理/错误跟踪工具?
.net - .NET 的 BLOB 分布式存储?
我正在寻找一个经过合理测试的库+服务器来存储持久分布式哈希表。
我对使用基于 SQL 的解决方案犹豫不决,因为数据是高度面向文档的,由数百万个 ~64KB 的 blob 组成,只有一个索引(由所述 BLOB 的哈希计算) - 并且需要能够分布以进行长期扩展前景。
由于费用和带宽方面的考虑,S3 等外部解决方案不是一种选择。
像 CouchDB 或 Project Voldemort 这样的东西是理想的——但是两者都明显缺乏 .NET 绑定(PV 可以是来自 Java 的 IKVMC——但是有“问题”。)。key和value都是字节数组(key为16字节,value最大2048KB平均64KB)
到目前为止,我已经搜索了 Dynamo、Chord 和类似的某种 .NET 端口 - 但是大多数结果似乎是纯粹的内存缓存,并且缺乏任何形式的持久性或复制。
有人有任何想法或建议吗?
git - 如何将本地 Git 分支复制到远程仓库
到目前为止,我已经采取了以下步骤:
- 克隆了一个远程 Git 存储库
- 将主分支分支到实验
- 在实验分支中编辑/测试/提交的代码
现在,我还没准备好将实验性合并到大师级。但是,我确实想将它推回远程仓库,因为那是我与几个同事共享的仓库。我想让他们看看我在实验分支中做了什么。我通常只是通过 SSH 访问远程仓库。
如何在远程 repo 上共享我的本地分支,而不影响远程 repo 的 master 分支?