- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我有两个 GCE 自动缩放服务器组,由厨师引导。第一个 - Redis 服务器(db
),第二个 - java 服务器(app
)。
任何 app
服务器都可以与任何 db
服务器通信。每个 db
都需要由 app
服务器提供服务,并且不应该出现一个 app
服务器连接到两个单独的 db 的情况
服务器。
所以,我需要弄清楚我是否可以使用 consul 将新创建的应用程序服务器与新创建的数据库服务器(都在同一网络中)连接起来。
总而言之,我需要通过在命令中添加适当的 db
服务器 IP 或主机名来自动配对新的升级服务器,在 app
上启动 java服务器。
我对服务发现和其他东西还很陌生,所以非常感谢任何帮助。
最佳答案
因此,如果我对您的理解正确,任何新 应用程序服务器都可以与任何新 redis 服务器通信,但是一旦他们选择了要与之通信的数据库服务器,他们就应该坚持下去与该服务器。
我可以通过 consul 看到一些实现这一目标的方法:
app1.service.consul
、redis1.service .consul
.这里的缺点是您无法独立于您的 Redis 服务器扩展您的应用服务器。redis.service.consul
我建议研究第二个选项,因为它允许您独立扩展应用程序和数据库服务器。
听起来您的网络中有两项服务:app
服务和 db
服务。然后,您通常会让 consul 充当它们两者的 DNS 服务器。
这可以通过为它们中的每一个创建一个服务文件来实现。在运行您的应用程序的服务器上,您将在 /usr/local/etc/consul.d/my_app.json
中创建一个服务文件:
{
"service": {
"name": "my_app",
"port": 1234
}
}
将 port
替换为您的应用正在监听的端口。然后,您需要使用 consul reload
重新加载 consul。您可以通过运行 consul monitor
检查更改是否正确应用。
现在应该可以从内部网络上的 my_app.service.consul
访问您的应用。
您可以通过使用 dig my_app.service.consul
发出 DNS 查询来检查这一点。这应该会在 DNS 响应的 ANSWER 部分返回应用服务器的 IP 地址。
然后您必须在您的数据库服务器上重复这些步骤,您需要使用适当的端口和服务名称为数据库创建另一个服务文件。
关于java - 将自动缩放的应用程序和数据库服务器与领事配对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41015416/
我有一个服务器程序(适用于所有三个主要操作系统),它是用 C++ 创建的,它努力连接两个陌生人进行通信。我当前的模型似乎已经过时了,我只是想知道是否有更好的方法来为客户提供服务。 -服务器收到连接请求
我希望有人能告诉我 GoogleTV 如何与本地 Youtube 应用配对。 我感兴趣的是“第一屏”GoogleTV/SmartTV 功能。 据我目前所知,“第二屏”应用程序需要使用与配对服务(来自
感谢下面的提示 • 您需要一次遍历字符串一个字符(for 循环或 while 循环) 当您点击 ,这是您的结束标记 • 现在检查> 之前的字符。是/吗? • 是:查看堆栈顶部。该字符串与 之间的字符
我正在使用 Node.js 和 WebSocket 创建基本的一对一聊天。每次客户端连接时,都会向他们发送其 ID 以及 salt+id 的 MD5 哈希值。然后,他们需要与另一个客户配对。当它们配对
我刚刚开始深入研究 Racket 宏,并尝试制作一个简洁的宏定义宏。我想扩展这样的表达式: (macro id (param) replacement1 (params ...) re
我有一个 foreach 循环(看,它在下面),我得到了一些元素。将此数据存储到 MySQL 中时,我想选择每个“count[]”所属的类别(此处标记为“interaction[]”)。例如,如果第
是否有可能找到一种更好的/模块化的方式来为配对分配相同的颜色,而不是像我目前实现的那样对它们进行硬编码? 如果对象 fname 匹配,则分配相同的颜色。 以下是 javascript 对象的子集。 d
在我的 iPhone 应用程序中,我想与固件设备通信。在连接期间,他们可以要求提供配对 key ,但他们说他们没有提供输入 key 的规定。 在这种情况下,USP(用户智能手机)永远不知道输入的 ke
这个问题在这里已经有了答案: How to merge every two lines into one from the command line? (21 个回答) 关闭 6 年前。 使用一个简
function pair(str) { var dna = []; var dnaarr = []; for(var i = 0; i < str.length; i++) {
我是一个相对年轻的开发人员,我对一些事情感到困惑。 这是我的代码: function pairElement(str) { var arr = []; var pairs = [
我有一个脚本,可以从文本文件中读取并插入元素,以便可以对它们进行样式设置和显示。但是,我现在想在 DIV 中配对两个元素。这是代码: var lines = request.responseText.
.Spotify:hover img { display:block; position: absolute; z-index: 0; top:17%; lef
我正在努力使用摩托罗拉随 RAZR 提供的 BT 4.0 API。在 one of their documents它声明在连接和使用他们的框架之前使用 Android API 进行配对。根据他们的说明
谁能告诉我一次可以通过蓝牙将多少台设备与 iPhone 配对..需要帮助..直到现在我还没有确切的数字。 最佳答案 在 iOS 6.1.4 中,低功耗蓝牙设备的当前限制是 10 个同时连接(至少在 N
我正在创建一个扩展推送通知的 Android Wear 应用程序。当推送通知进来时,我的应用程序会从服务器下载大约 10 张图像,并在 watch 上显示这些额外的图像。这些图像特定于 android
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题?通过 editing this post 添加详细信息并澄清问题. 8年前关闭。 Improve this
我有一个类似于使用以下命令获得的数据表: dt <- data.table( time = 1:8, part = rep(c(1, 1, 2, 2), 2), type = rep(c(
为了回应有用的评论,我编辑了原始问题(我假设 for 循环和应用循环给出不同的结果)。 我正在使用 R 运行大量 2 组 t 检验,使用来自分隔表的输入。根据此处和其他地方的建议,我尝试了“for-l
是否可以将脚本(例如 MathJax)加载到 EpicEditor 预览 iFrame 中?我希望我的预览是正确的 Markdown,然后运行 javascript 来预览 MathJax 内容。
我是一名优秀的程序员,十分优秀!