因项目需要,系统要部署在不同的服务器上,如何将系统的静态资源保持一致是我们项目的一个重要节点,为此,我们将系统的一些静态数据存储在openldap中,利用openldap的多主同步机制来保持数据的一致性。配置如下:
-
首先在进行openldap的编译安装时,需要开启以下几个参数:overlays,ldap,accesslog,syncprov,其中-enable-ldap 选项用于支持ldap代理,在同步中用来推送数据;--enable-accesslog 选项用于记录用户操作,在同步中用于记录服务端的数据修改;--enable-syncprov 选项用于支持数据同步引擎。命令是
env CPPFLAGS="-I/usr/local/berkeleydb/include" LDFLAGS="-L/usr/local/berkeleydb/lib" LD_LIBRARY_PATH="/usr/local/berkeleydb/lib" ./configure --prefix=/usr/local/openldap --enable-ldbm --enable-overlays --enable-ldap --enable-accesslog --enable-syncprov
具体安装可以看我的上一篇文章,这里就不具体阐述了。
- 之后进入slapd.conf文件开始配置,需要指出的是openldap有五种同步模式,每一种配置都有很多的相似之处,但是每种同步模式都有特定的使用场景以及各自的优势与局限,可以上网去查查看,这里我只说多主同步模式。
在该同步模式下,每台主机既扮演provider又扮演consumer的角色,原理如图所示:
配置文件如下
值得注意的是我只是配置了两台服务器,如果想要配置三台以上的服务器,那么需要在这三台服务器openldap的配置文件中同时配置另外两台服务器的provider,其余不变,才能实现多主同步配置。
参照文档:http://www.zytrax.com/books/l... 这里说的很详细了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。