用于服务器 - 客户端配置管理的API或库

时间:2013-05-09 12:41:18

标签: c++ networking configuration network-protocols configuration-management

在我工作的软件项目中,我们将拥有一个管理服务器和数百个客户端。该管理服务器将定义策略并发送客户端(或客户端将采用该策略)。我认为,这种结构就像是集体政策。是否有API或对我的C ++程序有用的东西。

我遇到Netconf已命名的东西,但我没有成功运行它。我正在考虑用RPC协议编写我的配置管理系统,如果我找不到任何有用的东西,但我不知道用C ++实现是否容易。

或者我认为我可以使用Web服务来更新客户端配置文件。

顺便说一句,我不确定是否将这个东西称为“配置管理器”。

2 个答案:

答案 0 :(得分:3)

如果您的配置文件很大,我们来考虑一下。如果您有包含用户列表的文件并且刚刚添加了新用户,那么您不希望将整个文件复制到群集中的所有框。 这就是我不得不使用版本控制系统作为配置管理程序的主要原因。

要实现它,只需设置一个流行的VCS(我使用Mercurial),将配置放入存储库,然后在客户端的盒子上克隆。如果您需要更新配置,那么您正在将更改推送到VC​​S并为每个客户端/主机执行类似的操作

ssh -q user@host "cd $VCS_root && hg pull -u"

答案 1 :(得分:0)

如果服务器可以通过SSH连接到客户端,Ansible(http://ansible.cc)可能会完成这项工作。它是一个命令行工具,但您应该能够从C ++调用它。

基本上,您将创建一个可以运行以更新客户端策略的剧本。如果客户数量不同且政策不同,您可以将该信息放入动态广告资源“脚本”中:http://ansible.cc/docs/api.html#external-inventory-scripts

我们使用这种方法,以便我们从Java Web应用程序调用ansible playbooks,并在playbook中运行来自同一个Web应用程序(RESTful Web服务)的ansible GETs库存数据。