问题标签 [multiserver]
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.
android - Parse.com 将推送通知过滤为“多服务器”
首先我为我糟糕的英语道歉。我正在接近Parse.com
并且正在开发一个“多服务器”应用程序,它允许我发送由“服务器”过滤的通知。
我尝试了两种解决方案,但都有一些问题都与以下事实有关:当我启动我的应用程序时,我不知道用户会选择哪个“服务器”。
想法 1 - 真正的多服务器
- 我手动创建 n 个
Parse.com
服务器,彼此完全分开 - 我将所有服务器密钥存储在对象中,例如
[Name, AppID, clientKey]
- 我的应用程序列出了名称属性
- 用户选择他的服务器
我开始新
/li>Activity
的onCreate()
初始化 Parse,如下所示:(如果他想更改服务器,我只需清理我的 App 数据并使用新密钥重新初始化 Parse)
- 一切正常,直到我尝试在应用程序关闭(非活动且不在后台)时发送推送通知时,
NullPointerException
由于尚未调用 Parse 的初始化。
想法 2 - 模拟多服务器
- 我手动创建一台
Parse.com
服务器 - 所有表都有一个新的列(例如)
uniqueIdServer
我在应用程序中初始化解析,如:
/li>我显示了我的旧列表,但这次只是 [name, uniqueID]
- 用户选择他的“服务器”
- 现在我可以用我的新列轻松过滤我的数据,当我的应用程序关闭时我没有问题,因为 Parse 会自己调用他的初始化程序
- 但我不知道如何过滤推送通知
uniqueId
我尝试使用频道而不是仅在该频道发送推送:
/li>但总是一样的,我不知道在“应用程序时间”我的用户会选择什么,所以我
getUniqueID()
会绑定"null"
或类似的,更糟糕的是我不知道如何更改频道(atm 我只能在我卸载我的应用程序时)
真的非常感谢,任何帮助将不胜感激。
ssl - SSL 多台服务器
下午好,
我想问这个关于 SSL 证书的问题。我们公司管理着几台服务器。例如:
- location1.domain.com
- location2.domain.com
- location3.domain.com
每个链接都指向具有不同 IP 的不同服务器,因为它与从外部世界连接到系统有关。在每个位置,都有浏览器将本地网络上的每个服务器连接到同一网络。
例如:
- 192.168.2.130
服务器是一台运行ubuntu server 14的apache2。另外,在我看过的所有教程中,都需要知道机器的IP地址。对于其中许多位置,IP 地址经常更改。他们有动态IP。我想知道我需要什么样的 SSL 证书?我考虑过通配符证书,但确实知道这是否有点矫枉过正。我还希望每个位置内的位置用户看不到由于没有正确签名的 SSL 证书而产生的错误消息。提前致谢。
乔治
mvvm - 如何模拟或触发服务器故障以测试服务器到服务器的通信?
假设我的 MVVM 网站有一个后端服务器,它需要与数据处理服务器通信。如果一台服务器出现故障,另一台应该知道如何处理(例如,保存它要传输的文件,然后等到服务器恢复联机)。但是,我显然不会仅仅相信它有效。我需要某种回归测试。
有没有办法模仿服务器故障/停机时间,最好不引入任何严重的安全问题?
我在想可能是两台服务器之间的代理,可以被操纵以模仿停机时间或通信错误。但我不知道从哪里开始。
python - Django:在多服务器上下文中提供巨大的用户上传文件
我必须为我的 Django 应用程序提供大量用户上传的文件。所以我选择了以下服务器结构:
nginx (Main routing) <-> uWSGI <-> Django App [ONE MACHINE]
| nginx [ANOTHER MACHINE hosting media and static]
为了权限方便,我希望用户上传的所有文件和应用程序生成的其他文件都在我的 Django 应用程序下创建,然后移动到我的存储服务器。
如何继续将文件上传到我的存储服务器?
configuration - ZooKeeper 多服务器设置示例
从ZooKeeper 多服务器配置文档中,他们显示了可以放置zoo.cfg
在每个服务器上(ZK 的配置文件)内部的以下配置:
此外,他们声明您需要myid
在每个 ZK 节点上都有一个文件,其内容与上述server.id
值之一匹配。因此,例如,在 3 节点“集成”(ZK 集群)中,第一个节点的myid
文件将仅包含值1
. 第二个节点的myid
文件将包含2
,依此类推。
关于现实世界中的样子,我有几个实际问题:
1.可以localhost
用吗?如果zoo.cfg
必须在集合中的每个节点上重复,是否可以将当前服务器定义为localhost
?例如,在 3 节点集成中,服务器 #2zoo.cfg
看起来像这样是否可以:
还是不建议/不可能?
2.他们的服务器ID必须是数字吗?例如,我可以有一个 5 节点集合,其中每个服务器zoo.cfg
看起来像:
而且,比如说,服务器 1myid
将包含red
它内部的值(等等)?
nginx - 在多台服务器上使用 socketio 和 redis
我正在尝试在多台服务器上使用 socketio,在整整一周的时间里,我在不同的平台上尝试了不同的解决方案,但它们都不起作用。
对于我的项目,我使用带有 iphash 的 nginx 负载平衡来将客户端保持在同一台服务器上,并广播到我使用 redis socketio 适配器的所有套接字。
我也尝试了这些项目,以查看它是否工作并了解它的工作方式,但是这个应该准备好使用的项目也不起作用。
https://github.com/h4t0n/socket.io-redis-appsample
和这个
https://github.com/evilstudios/chat-example-cluster
我尝试在 Windows 和 linux 上使用 redis,但没有区别。
我读到了我们需要使用“传输:['websocket']”的不同问题,有些人说它需要在客户端和服务器上的其他客户端上完成,我尝试了两种解决方案但它不起作用。
我没有收到错误或警告,事件根本没有发送到其他服务器上的套接字。
apache - Apache 克隆域/服务器
是否可以在 2 个不同的服务器中“克隆”一个域?
想要的是:
将 domain1.com 的所有请求也发送到 domain2.com ,因此实际上 domain1 和 domain2 都是实时同步的,但正在其他服务器上运行。
有了这个,我想制作一个“实时备份”域/服务器
我正在使用 directadmin (apache/mysql)
我尝试了不同的选项实时同步 whit Rsync 或 r1soft 来备份域,但由于数据的大小 (50/100gb),备份时间太长。所以备份总是落后 1 小时或更长时间。
c# - 向客户端发送响应后使用异步和等待更新数据库
我正在使用 C# 开发 ASP.NET Web 应用程序。请通过.
现在,我想要的是客户端向 Server1 发送请求,而 Server1 请求 Server2。我希望后一个请求是异步的。我希望 Server1 在从 Server2 获得响应之前立即响应客户端。
更新:我一直在研究async
并且await
,无法理解(用一个最简单的例子)解决方法。
我所理解的是,它async
告诉函数是异步的,并且包含await
异步执行的语句。
我找不到任何理由说明人们为什么不赞成我的问题。如果你这样做,请告诉我。
single-page-application - 使用 auth0 同时连接到旧服务器和新服务器
我有一个当前连接到 Rails 后端的 Web SPA,通过 auth0 处理身份验证。我们有一个新的服务器,它有一些 SPA 需要连接的端点。考虑到我已经在 SPA 和旧版服务器中实现了 auth0,什么是对两台服务器进行身份验证的优雅方式?有没有办法将经过身份验证的令牌从旧服务器传递回新服务器?或者我只是在 SPA 上以用户身份登录时对两台服务器进行身份验证?用户数据库位于一个单独的数据库中,由两台服务器共享。
java - 仅在三台服务器之一上发生的 SQL 异常
我们在 Java 中的准备好的语句有问题。异常似乎很明显:
Root Exception stack trace:
com.microsoft.sqlserver.jdbc.SQLServerException: The statement must be executed before any results can be obtained.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getGeneratedKeys(SQLServerStatement.java:1973)
at org.apache.commons.dbcp.DelegatingStatement.getGeneratedKeys(DelegatingStatement.java:315)
它基本上表明我们正在尝试在执行之前获取查询结果。听起来很有道理。现在,导致此异常的代码如下:
如您所见,我们在执行语句后获取查询结果。
在这种情况下,我们尝试从刚刚成功执行ResultSet
的查询中获取生成的密钥。INSERT
问题
我们在三个不同的服务器上运行此代码(负载平衡,在 docker 容器中)。奇怪的是,这个异常只发生在第三个 docker 服务器上。其他两个 docker 服务器从来没有遇到过这个异常。
额外:失败的查询每天大约执行 13000 次。(4500 由服务器 3 处理)大多数情况下,查询在服务器 3 上也能正常工作。有时,假设每天 20 次,查询失败。始终相同的查询,始终相同的服务器。从来没有其他服务器之一。
我们尝试过的
- 我们检查了软件版本。但这都是一样的,因为所有服务器都使用相同的 docker 映像运行。
- 我们更新到最新的 Java 微软 SQL 驱动程序
- 我们检查了是否所有的
PreparedStatements
都是使用PreparedStatement.RETURN_GENERATED_KEYS
参数构造的。
看起来这是一些与服务器配置相关的问题,因为 docker 图像都是一样的。但我们找不到原因。有没有人建议问题可能是什么?或者有没有人也遇到过这个问题?