问题标签 [multi-instance-deployment]

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 投票
1 回答
192 浏览

azure - Azure-静态存储库需要重新加载

我有一个静态存储库,在内存中存储了一个大型 XML 文件结构,并且在 MVC 应用程序中仅加载一次。该应用程序托管在具有 2 个实例的 Azure (Paas) 上。我们有一个设计工具,用于添加更多内容或从该存储库中删除内容。我们发现的挑战是,一旦添加了东西,我们需要通过拆除存储库并重新创建它来重新加载存储库。这可行,但会留下一个问题,即静态存储库仅在服务器 A 上刷新,而不在服务器 B 上刷新。如果请求发送到服务器 B,用户不会看到该更改,因为它尚未更新。On;y 两个实例上的 IIS 重置解决了这个问题。我曾尝试使用 Session 状态来存储存储库,但是当我们用作将值存储在数据库表中的自定义 Session 提供程序时,会在每个页面请求上调用 session_start 事件,从而导致性能问题。有没有人有更优雅的解决方案来更新两台服务器上的存储库并使用任何现代技术。

0 投票
0 回答
136 浏览

coldfusion - ColdFusion 多实例安装

我们在 Apache 上有一个具有多实例配置的 ColdFusion 10 Tomcat 服务器。我们有 4 个实例。cfusion 和 cfusion2 用于单个集群中的访问者。另外两个是 Search 实例和 Scheduled Job 实例。我们有几个问题。

它似乎没有遵守集群规则并从实例和实例中移动客户端。Cfusion 明显开启,cfusion2 似乎已停止。但我似乎没有办法让它重新启动。我在那里做错了什么?

问题 2 如何保证计划的作业只会从计划的作业实例运行,而不会被其他 3 个实例触及。我似乎无法删除或禁用它们对其他实例的引用。

0 投票
2 回答
124 浏览

asp.net-mvc - 在 Azure 平台上为不同帐户部署内容管理 Web 应用程序的正确方法

我开发了一个商业Asp.Net MVC Web 应用程序。该应用程序是标准的,在 IIS Web 服务器上运行并利用 SQL Server 数据库。我们的商业模式是,我们在客户的 Intranet 或数据中心现场部署我们的应用程序。也就是说,我们为每个这样的客户(帐户)提供完整的设置,通常安装在专用的独立服务器中。每个这样的帐户都有自己的私有内容、用户、配置等。

我们希望在 WWW(公共互联网)上扩展和提供我们的服务。经过一番研究,我选择了微软的 Azure 云平台来托管我们的应用程序。通过一些小的努力(主要是教应用程序使用 blob 与 Azure 的文件存储一起工作),我已经成功地使用三种云服务完全部署到云:网站、数据库和文件存储。

请注意,我对两种部署类型(Intranet 和 Cloud)使用相同的代码库,通过对 Debug、Release – Intranet、Staging – Azure、Production – Azure 使用不同的配置。

但是,该应用程序(如现在所写的那样)只能为单个客户帐户提供服务,而我需要我们的云版本来为众多帐户提供服务(希望很多;)……每个帐户都有自己的私有数据集。

问题:我应该在这里采用以下哪种策略?

  1. 更改应用程序,使其支持多个帐户。这意味着数据模型(在数据层中添加 Account 实体,将其绑定到所有内容类型等)和业务逻辑中的更改。

  2. 为每个帐户在云上创建自己的站点(网站 + 数据库 + 文件存储服务)。这意味着将同一应用程序多次部署到不同的 Azure 服务。

很明显,这里第一种方法所需的开发量非常大,系统稳定性的风险也很大,而第二种方法需要的工作量要少得多。

但是,我不清楚如何管理一组许多相同的服务(应用程序),每个服务(应用程序)服务于不同的客户帐户。我已经开始在这里寻找一些可以帮助我的工具(例如Red Gate),并且希望听到更多。

另一个问题是成本——这样的解决方案是否使用许多云服务而不是只使用少数,比更标准的“一个应用程序为所有帐户”方法成本更高。

谢谢,

0 投票
1 回答
65 浏览

windows-installer - 使用 InstanceId 更改多实例安装中的目标目录

如何在基本 MSI 项目的多实例安装中使用 InstanceId 更改组件的目标目录。

0 投票
1 回答
74 浏览

java - 在多实例应用程序中存储文件

我们正在使用 Spring 框架开发一个 Web 应用程序。我们希望将它部署在 Apache 负载均衡的多个 Tomcat 实例上。

我们的用户将向我们的平台上传多个文档(doc、xlx、图像)。这些文件将被多个用户访问。我的问题是如果我们的应用程序部署在多个服务器上,如何有效地管理这些文件,以便每个服务器都可以轻松访问这些文件。

0 投票
3 回答
396 浏览

java - 在多实例应用程序上避免单例消息计数器的模式

我想知道建议使用哪种模式与表示已处理消息数量的计数器一起使用应该是无状态的应用程序。

例如,在应用程序部署在多个服务器上的架构中,数据库用于存储持久信息(会话等)。但是,此类信息不会像消息计数器那样暴露于并发更新。在单实例应用程序中,我们可以使用单例,但这里不是这种情况。

您对实施这样的计数器有何建议?使用计数器是一个糟糕的设计吗?

0 投票
1 回答
947 浏览

crm - 何时将系统分成多个 Dynamics CRM 实例

我的组织刚刚开始涉足 Dynamics CRM,出现的问题之一是我们什么时候应该将各种应用程序组合到一个实例中,什么时候应该将它们分成多个实例?

我知道这个问题的答案取决于具体情况,所以我试图提出一个可以被问到的问题列表,以帮助确定哪个方向最有意义。

我很难在网上找到任何关于这个的讨论,所以我想在这里问。那么,在决定一个系统/一组功能是否应该在一个单独的实例中时,您会问什么问题?

编辑:我不太清楚我们的组织类型。我在一个有多个部门的城市工作,这些部门提供不同的服务并为不同的客户提供所需的功能通常非常不同。

我担心将所有这些具有不同功能并跟踪不同“客户”的不同系统放入一个系统中的冲动。我担心管理适用于不同系统的所有各种实体并确保来自一组用户的更改请求不会给另一组用户造成问题会出现问题。

我敢肯定,有时将多个系统组合到一个实例中是有意义的,但我认为可能有很多次我们不想将它们放在一起,所以我想提出一个问题列表问。

一些基本的问题是: 1) 系统是否共享公共数据(例如,相同的客户)?2) 系统是否共享通用功能?3) 系统是否收集相同类型的数据?4) 是否有要求报告来自这些系统的组合数据?5) 通过分离实例或通过用户角色来管理安全性会更容易吗?

0 投票
2 回答
268 浏览

azure - 如何在 Azure 多实例(规模集)虚拟机中存储临时数据?

我们开发了一个服务器服务(简而言之)支持两个设备之间的通信。我们希望利用 Azure 规模集(多实例 VM)提供的可伸缩性,但我们不确定如何在每个实例之间共享内存。

我们的服务基本上将临时数据存储在本地虚拟机中,这些数据被读取、修改并发送到连接到该服务器的设备。

如果这些数据本地存储在其中一个实例中,则其他实例无法访问并且没有相同的信息。这是对的吗?

如果其中一台设备开始向服务器发出一些请求,则将要处理该请求的实例并不总是相同的,因此最后的数据将在实例之间传播。

所以问题可能是,如何在 Azure 实例之间共享内存?

谢谢

0 投票
0 回答
887 浏览

database - 使用 docker 在 moqui 中实现多实例时无法创建名为 transactional_DS 的 JDBC 数据源

由于 Moqui Framework 2.0.0 的多租户功能已被删除,我正在尝试用 Docker 实现相同的功能。

  1. 我刚刚使用 - $ 创建了图像./docker-build.sh
  2. 修改-moqui-ng-my-compose.yml
  3. ./compose-run.sh moqui-ng-my-compose.yml
  4. 发生异常:| 08:07:47.864 INFO main .moqui.i.c.TransactionInternalBitronix Initializing DataSource transactional_DS (mysql) with properties: [uri:jdbc:mysql://127.0.0.1:3306/moquitest_20161126?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8, user:root] moqui-server | 08:07:51.868 ERROR main o.moqui.i.w.MoquiContextListener Error initializing webapp context: bitronix.tm.resource.ResourceConfigurationException: cannot create JDBC datasource named transactional_DS moqui-server | bitronix.tm.resource.ResourceConfigurationException: cannot create JDBC datasource named transactional_DS moqui-server | at bitronix.tm.resource.jdbc.PoolingDataSource.init(PoolingDataSource.java:91) ~[btm-3.0.0-SNAPSHOT.jar:3.0.0-SNAPSHOT] moqui-server | at org.moqui.impl.context.TransactionInternalBitronix.getDataSource(TransactionInternalBitronix.groovy:129) ~[moqui-framework-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT] moqui-server | at org.moqui.impl.entity.EntityDatasourceFactoryImpl.init(EntityDatasourceFactoryImpl.groovy:84) ~[moqui-framework-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT] moqui-server | at org.moqui.impl.entity.EntityFacadeImpl.initAllDatasources(EntityFacadeImpl.groovy:193) ~[moqui-framework-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT] moqui-server | at org.moqui.impl.entity.EntityFacadeImpl.<init>(EntityFacadeImpl.groovy:120) ~[moqui-framework-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT] moqui-server | at org.moqui.impl.context.ExecutionContextFactoryImpl.<init>(ExecutionContextFactoryImpl.groovy:198) ~[moqui-framework-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]

这是我的moqui-ng-my-compose.yml文件-

如果需要任何其他信息,请告诉我。

提前致谢!!

0 投票
0 回答
221 浏览

azure-service-fabric - Service Fabric 应用程序多实例随机返回 503 错误

我们有一个包含单个服务的服务结构应用程序。此服务通过端口 8910 上的 Web Api 公开 HTTP 端点

我们将此应用程序部署到不同的实例并使用以下代码来防止我们的服务实例之间的端口冲突

serviceContext.ServiceName.Segments[1]解析为应用程序实例的名称

服务清单具有端口配置

<Endpoint Protocol="http" Name="ServiceEndpoint" Type="Input" Port="8910" />

但是,当我们在同一个 Azure 集群中运行两个实例时,我们会随机收到连接到端点的 503 错误。这些最终会自行解决 - 但我想知道是否需要设置任何其他步骤才能处理具有端口共享的多实例应用程序?