首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可能只有一个领事服务器为rails应用程序提供密钥对服务?

是否可能只有一个领事服务器为rails应用程序提供密钥对服务?
EN

Stack Overflow用户
提问于 2015-09-19 11:09:41
回答 2查看 1.5K关注 0票数 3

我想知道是否有可能用一个领事服务器来服务器密钥值对。

我试图设置领事服务器,只为我的rails应用程序存储键值对。我只设置一个领事服务器,它将充当代理。然而,在建立领事的网络用户界面方面遇到了问题。

我试图以领事服务器的身份运行一个物理实例,以服务领事的web-ui。

代码语言:javascript
复制
consul agent -server -data-dir /tmp/consul -ui-dir /home/ubuntu/dist/

为了访问公共ip上的领事web-ui,我运行以下命令

代码语言:javascript
复制
consul members -rpc-addr=X.X.X.X:8400

得到以下错误

代码语言:javascript
复制
Error connecting to Consul agent: dial tcp X.X.X.X:8400: connection refused

其中X.X是实例的私有ip。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-21 13:56:44

默认情况下,由于文档的原因,代理正在本地主机上启动客户机:

Client :这是用于与代理的客户端接口的地址。这包括HTTP、DNS和RPC接口的端口。RPC地址由查询和控制运行代理的其他领事命令(如领事成员、领事连接等)使用。默认情况下,这只绑定到本地主机。如果更改此地址或端口,则必须在运行领事成员等命令时指定-rpc-addr,以指示如何到达代理。其他应用程序也可以使用RPC地址和端口来控制领事。

因此,您需要设置一个标志-client=X.X.X.X来设置远程访问客户端的IP地址。尝试使用以下命令启动服务器:

代码语言:javascript
复制
consul agent -server -bootstrap -data-dir /tmp/consul -ui-dir /home/ubuntu/dist/ -client=X.X.X.X

你的IP地址。要检查该选项是否被接受,请检查服务器输出,它包含如下一行:

代码语言:javascript
复制
 Client Addr: X.X.X.X(HTTP: 8500, HTTPS: -1, DNS: 8600, RPC: 8400)

要访问WebUI,请在web浏览器中打开以下链接:http://X.X.X.X:8500/ui

至于consul members命令,它只是通过这个代理打印一个已知成员的列表,所以不需要使用WebUI来执行它。

票数 2
EN

Stack Overflow用户

发布于 2015-12-13 00:15:26

是的,这是可能的,但这不是一个很好的主意。Consul被优化为在分布式体系结构中操作,其中对网络分区的容忍是首要关注的问题。只要有一个节点,就可以更好地使用Redis之类的东西来分割。这将是更快和规模更大的一组客户。读一读法定人数

  • Redis是为一致性和可用性而优化的。
  • 对于可用性和分区容忍度(如果以群集的形式运行),领事进行了优化。

对于单个节点,没有理由对K/V使用领事,尽管如果您也希望它具有服务发现、DNS、事件和锁定功能,那么这是有原因的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32667476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档