云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港服务器_堡垒之夜服务器_试用

小七 141 0

领事的十二因素申请

十二因素应用程序说,web应用程序应该从环境变量中检索它们的配置。这种做法已经被现代PaaS服务迅速采用,以实现简单的配置更改。使用consur,可以很容易地将这种做法应用到您自己的数据中心。如果您将PaaS用于基础设施的某些方面,而不是全部,concur是集中配置数据的一个很好的方法。在这篇文章中,我们将展示如何使用consur和envconsur设置配置值并在配置更改时触发自动重新启动,所有这些都不需要对应用程序进行任何修改。»为什么是环境变量?根据十二因素app,环境变量应该用于web应用程序配置。与配置文件或机制(如Java系统属性)相比,它们有许多优点:环境变量是语言和操作系统不可知的标准。环境变量更难意外地提交到代码回购。环境变量很容易在诸如开发、阶段、QA等环境之间改变。无论部署如何,环境变量都很容易设置和更新。完整的PaaS解决方案(如Heroku)公开了有用的api来自动设置/获取应用程序的环境变量。在手动部署应用程序时,历史上的情况要复杂一些。有了consur,开发人员就可以轻松地设置和读取配置,并像操作工程师一样易于支持和维护。»领事K/V和环境领事consur能够存储键/值数据。为了设置和检索键/值数据,consur有一个简单的API以及一个漂亮直观的webui。它非常适合存储配置数据。很清楚如何设置和检索配置数据,但不清楚这些配置数据如何成为应用程序的环境变量。envconsur是一个解决此问题的轻量级解决方案。在envconsur中,环境变量以前缀(用"/"分隔)存储在consur KV中。例如,要配置我们的服务"foo",我们可以这样存储配置:$curl-X PUT-d"错误"http://localhost:8500/v1/kv/foo/启用是的这将值false存储在foo/enabled键中。然后,使用envconsur,我们可以将这些键转换为环境变量:$envconsur foo env公司启用=假envconsur是一个非常友好的UNIX应用程序。它需要两个强制参数:一个KV前缀用于查找数据,然后另一个应用程序与其参数一起运行。在上面的例子中,我们告诉envconsur,我们的配置在前缀foo下,我们希望运行应用程序env,它只输出环境变量。在结果中,您可以清楚地看到ENABLED被设置为false,就像我们在consol KV中设置的一样。如果将env更改为应用程序,则环境变量将暴露给该应用程序。例如,要运行rails服务器,可以执行以下操作。请注意,在实际的生产场景中,您可能没有直接运行Rails内置服务器,但这是一个很好的例子:$envconsur foo bin/rails服务器...»自动重新加载使用PaaS,当您更改任何配置时,应用程序将自动重新启动。我们可以用最小的努力用consur和envconsur达到同样的效果。通过向envconsur添加-reload标志,每当添加、删除或更改配置密钥时,envconsur将终止(SIGTERM)并重新启动应用程序:$envconsur-重新加载foo bin/rails服务器...converhttpapi支持对给定前缀的KV变化进行长时间轮询。envconsur利用这一点有效地检测出KV的变化。»改进工艺使用consur和envconsur进行应用程序配置可以将类似PaaS的应用程序配置简化到您自己的本机环境中。对于开发人员来说,他们能够在不与操作工程师交谈或重新部署应用程序的情况下设置配置。对于操作,consur为跨整个基础架构的服务发现和配置提供了统一的解决方案。知道consur自动复制这些数据并将其存储在磁盘上以便于备份,操作人员可以很好地睡眠。»领事再给我一些这只是consur改进数据中心的众多方法之一。我们根本没有介绍consur服务发现的好处,也没有谈到consur如何保护您的数据安全的技术细节。您甚至可以使用consur KV和envconsur在您的数据中心和第三方PaaS之间同步配置!对于拥有混合云环境的大型组织来说,这使得以前很难实现的配置集中化。如果您想了解更多关于领事的信息,请访问领事网站。我们计划做更多关于consur应用的博客文章,以及一些关于consur如何工作的深入的技术博客文章。