问题标签 [distribution]

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

oracle - Where\如何存储分布式配置数据

我们产品的单个安装将其配置存储在一组数据库表中。

没有任何安装“知道”任何其他安装。

客户在地理位置相距遥远的不同数据中心安装我们产品的多个副本一直很常见。这意味着配置信息需要创建一次,然后导出到其他系统。然后修改一些配置以适应当地条件。例如更改 IP 地址等。这是一种笨重且容易出错的方法。

我们现在收到要求能够制定更无缝的全球数据共享策略,但仍允许本地修改。

如果不是本地修改位,那么我们可以使用 Oracle 的数据复制功能。

由于 HA 要求,在一个数据库中拥有所有配置不是一种选择。

有没有其他人遇到过这个问题,你有没有为此找到一个好的编程解决方案?知道任何可以描述部分或完整解决方案的好论文吗?

我们是基于 *nix 的,并且使用 Oracle。更改应该很快(一秒或两秒)复制到所有节点。

0 投票
5 回答
6755 浏览

iphone - iPhone ad-hoc 分发测试的困难

我正在尝试将我的(第一个)iPhone 应用程序临时分发给一小群志愿者测试人员。我查看了 Apple 的文档以及一些博客文章,但仍然遇到问题。我有几个关于不清楚的问题(至少对我来说):

在创建开发和/或分发证书请求时,对于通用名称,我应该使用我的姓名还是我的公司名称?我以公司的身份注册了 iPhone 开发者计划,门户网站显示该公司名称,但也显示了我自己的名称为“Agent”。

此外,Apple 的文档(开发人员指南的“发布测试应用程序”一章)包含一个图表,显示测试人员配置文件包含有关测试人员设备、测试应用程序 ID 和开发证书的信息。当我尝试在门户上创建测试人员(临时)配置文件时,它会选择分发证书,而不是开发证书。这是正确的吗?这似乎有道理,但与图表不符。

任何其他关于临时配置的建议也将不胜感激,特别是如何收集信息以进行故障排除。我的测试人员报告说收到“由于发生未知错误(0xE8008016)而未安装应用程序”消息,这并没有告诉我我可能做错了什么。

谢谢,安德鲁

0 投票
3 回答
7321 浏览

algorithm - 给定一组数字和区间的分布算法

我正在寻找一种算法,它可以处理下面描述的问题。我已经写了一个算法(我认为它太专业了,无法发布),尽可能地优化,但在更大的数字集上它仍然太慢(因为成本呈指数增长)。在一台像样的计算机上,该解决方案应该不超过 5 秒。

你得到一组数字,例如:

M = { 1, 1, 1, 2, 2, 2, 5, 5, 5, 10, 10, 10, 10, 20, 50, 50, 50, ... , 10000, 10000, 20000, 20000 }

不必有特殊的结构(虽然他们在这里)。

你会得到一组“目标点”,还有数字,例如:

P = { 670, 2010, 5600, 10510, 15000}

目标是从 M 中取出最少数量的数字,其中,当您按确定的顺序添加它们时,您会得到尽可能接近P 中所有点的中间结果。您只能使用 M 中的每个数字一次。

在我们的示例中,一个可能的解决方案是(尽管我不知道它是否是最好的):

Y = ( 500, 100, 50 ; 1000, 200, 200; 2000, 1000, 500; 5000; 2000, 2000)

正如您所看到的,这两个标准最少接近某种权衡。这就是为什么我当前的算法使用评分来找到“最佳”解决方案。

以下是它目前的工作方式:

  1. 排序 M,排序 P,升序
  2. 删除太小而无法相关更改分数或太大的数字
  3. 递归:
  4. 将 P 中的下一个点作为当前“目标”,加上负值,例如 10%
  5. 从 M 中添加下一个数字,如果 M 则将其删除
  6. 接近目标点时,转到4。如果在终点,计算当前分布的分数并可能记住它
  7. 否则转到 5
  8. 从尝试号码回来时,取下一个更高的号码

它从不尝试两个相同的数字,只尝试升序,例如:

  • 100, 100, 100, 50, 50, 20, 10
  • 100, 100, 100, 50, 50, 20, 20
  • 100, 100, 100, 50, 50, 50, 10
  • 100, 100, 100, 50, 50, 50, 20
  • 100, 100, 100, 50, 50, 50, 50
  • 100, 100, 100, 100
  • 100, 100, 100, 100, 10
  • 100, 100, 100, 100, 20
  • ...

每个数字大约有 5 个,并删除许多较小的数字,该算法非常快并且找到了一个很好的解决方案。但是当我添加更多数字或特别是包含更小的数字时,运行时间从 100 毫秒上升到无穷大。

你能给我一个提示,如何处理这个问题?文献中是否有任何类似的算法可以处理该问题或其中的一部分?

0 投票
1 回答
1850 浏览

iphone - 每次为临时安装添加新设备时是否必须重新编译?

我为我的 iPhone 应用程序创建了一个临时配置文件。每次添加新设备时,是否需要重新编译应用程序以便分发?这是非常乏味的。

0 投票
2 回答
1097 浏览

algorithm - 一个均匀有序的分布问题

我有特定顺序的给定数量的盒子和特定顺序的重量。重量可能有不同的重量(即一个可能重 1 公斤,另一个可能重 2 公斤等)。我想以某种方式将重量放在盒子中,以便它们在重量方面尽可能均匀分布。我必须按照给出的顺序取重量,我必须按照给出的顺序填满箱子。也就是说,如果我在盒子 n+1 中放了一个重量,我就不能在 n 盒子里放一个重量,而且在我首先将重量 m 放入一个盒子之前,我不能将重量 m+1 放入一个盒子中。

我需要找到一种算法来解决任意数量的盒子和任意一组权重的这个问题。

使用 xUnit 在 C# 中进行一些测试(分发是应该解决问题的方法):

任何帮助是极大的赞赏!

0 投票
10 回答
4791 浏览

geometry - 展开二维点分布的算法

在 2D 像素阵列中,我需要一种有效的算法来选择最分散的 p% 像素。

这可以通过选择点来自适应地完成,然后反复调整靠得太近的点的位置。但这效率不高,因为它需要多次迭代和距离计算。

它不必是完美的,它只需要尽可能有效地避免点簇。

0 投票
2 回答
72 浏览

performance - 低带宽客户端会导致哪些服务器性能问题?

我有一个向客户端分发大文件的项目,其中一些肯定会有低带宽(ISDN 或 DSL 类)。

该系统是交互式的,客户端从服务器中提取数据。

只是好奇与具有较粗管道的客户端相比,这些较低带宽的连接会带来什么样的性能问题。

TIA

杰夫

0 投票
5 回答
1520 浏览

linux - 适用于 Linux 的可重现自定义分发构建系统

问题

我有一个庞大的基础设施,由多种运行 Linux 的服务器组成。例如,数据库服务器、负载平衡器、特定于应用程序的服务器。每种服务器都有许多实例,并且所有实例都需要可重现。

每种服务器基本上都是自定义发行版。定制包括对上游包(其他上游版本、构建选项、补丁等)的更改,可能还有一些额外的定制包。

例如,我需要一台运行最新 OpenLDAP slapd 的服务器,该服务器使用特定选项和一些补丁编译。这就是事情变得复杂的地方。

更新到最新的 slapd 还需要更新它所依赖的库,这意味着也要重建所有依赖于这些库的包。那就是我基本上需要重建发行版的重要部分。我正在寻找一种有助于自动化此过程的解决方案。

解决方案要求

有点模糊。我想准备构建我的自定义发行版所需的一切,给它一个名称(例如 ldap-server),并在我需要重现构建的任何时候将该名称提供给自动构建系统。

我认为这是 Gengoo 或 LFS 社区应该具备的。我也见过像 ALT Linux Hasher、Fedora Mock、Debian pbuilder/sbuild 这样的项目,但从未使用过它们中的任何一个。

有任何想法吗?

提前致谢!

0 投票
2 回答
86 浏览

ruby - 给定一个 ruby​​ 脚本如何弄清楚它依赖于什么?

我想将一个 ruby​​ 脚本分发给我的许多朋友,因为它很有用。但是我怎么知道他们还需要安装什么?我的意思是在脚本的顶部,有这样的:

这让我对他们需要安装什么有了一些了解,但是上次我在朋友的计算机(Linux)上尝试过上面的每一个都需要移动包。例如,activesupport 需要一个数据库,如果这个脚本是 sqlite3,所以我必须安装 sqlite3 和一堆 lib,甚至可能是 dev 包。

是否有任何工具或方法可以收集所有依赖项的列表,以便我可以将它们包含在安装说明中?或者更好的是,有没有办法将它们打包成一个简单的安装程序?

0 投票
2 回答
1677 浏览

web-applications - Java EE 应用程序中的静态和动态内容分离

我们使用 IBM 产品,我们通常使用 IBM Http Servers(阅读 Apache)作为我们应用服务器的反向代理。出于性能原因,我们从 http 服务器提供静态内容(.gif、.jpg、.css、.html 等),以减轻应用服务器的负担。

到目前为止,我们必须将文件分发到 http 服务器并手动配置它(最好是编写自定义脚本。)问题是保持一切同步所需的努力,尤其是当您需要更新应用程序时。

是否有任何 Java EE 产品支持这种“开箱即用”?有没有办法让应用程序服务器自动执行此操作,例如在集群配置中,主节点负责将应用程序分发到其他节点并保持一切同步。