许多开发人员考虑在其应用中嵌入ZooKeeper服务器,以减少对ZooKeeper的依赖。嵌入式指的是在应用内部实例化ZooKeeper服务器。虽然这一想法听起来很吸引人,但我们不建议这样做。我们观察到一些采用嵌入式方式的应用中遇到的问题,例如,如果ZooKeeper发生错误,用户将会查看与ZooKeeper相关的日志信息,这显然不再是透明化。此外,应用开发人员可能无法有效处理这些ZooKeeper的问题。更糟糕的是,应用的可用性和ZooKeeper的可用性被耦合在一起,如果其中一个出现问题,另一个也会受到影响。虽然嵌入式ZooKeeper服务器被用来提供高可用服务,但这种方式却削弱了其优势。尽管我们不建议采用嵌入式ZooKeeper服务器,但理论上没有阻止任何人这样做,例如,在ZooKeeper的测试程序中,可以了解如何进行这种操作。