跳转到主要内容

zope.server的ZooKeeper注册包装器

项目描述

zc.zkzopeserver 为zope.server WSGI运行器提供了一个包装器,该包装器会注册到ZooKeeper。通过注册到ZooKeeper,您可以让操作系统分配端口,并让客户端通过查看ZooKeeper来找到您的服务器。

基本用法

该包装器用于已部署的配置文件

[server:main]
use = egg:zc.zkzopeserver
zookeeper = zookeeper.example.com:2181
path = /fooservice/providers

该包装器支持以下选项

zookeeper

必需的ZooKeeper连接字符串

路径

必需的路径,用于注册您的服务器

通过将具有服务器地址的ZooKeeper临时节点添加到路径的子节点,以注册您的服务器。

主机

监听的主机名或IP地址,默认为空

端口

监听的端口,默认为0

session_timeout

以毫秒为单位的ZooKeeper会话超时

threads

线程池的大小,默认为1

monitor_server

一个zc.monitor服务器地址。

值是一个形式为HOST:PORT的地址。见下面的监控服务器。(主机可以为空以监听所有接口。)

loggers

日志配置。

这可以是以下之一

  • 一个日志级别名称(CRITICAL、ERROR、WARNING、INFO或DEBUG),或者

  • 一个ZConfig日志器定义字符串。

    如果配置中包含格式字符串,您需要使用双美元符号而不是%,如下所示

    format $$(message)s

    这是由于Paste Deployment配置语法中使用了字符串格式。

监控服务器

“zc.monitor”包提供了一个简单的可扩展命令服务器,用于收集监控数据或提供对服务器的运行时控制。如果“zc.monitor”包含在Python路径中,“zc.zkzopeserver”可以启动一个监控服务器,并将其地址作为服务器临时端口的“monitor”属性提供。要了解它是如何工作的,让我们更新之前的示例

[server:main]
use = egg:zc.zkzopeserver
zookeeper = zookeeper.example.com:2181
path = /fooservice/providers
monitor_server = 127.0.0.1:0

当我们的Web服务器运行时,“/fooservice/providers”节点看起来可能如下

/providers
  /1.2.3.4:61181
    monitor = u'127.0.0.1:61182'
    pid = 4525

关于监控服务器的一些说明

  • 除非您已注册一些命令插件,否则监控服务器将没有用处。

  • “zc.monitor”不是“zc.zkzopeserver”的依赖项,除非您安装它,否则它不会包含在Python路径中。

“zc.zservertracslog”集成

“zc.zservertracelog”包扩展了zope.server,以提供对“trace”日志的支持,这些日志在请求通过各个阶段时包含多个日志条目。

如果您想与“zc.zkzopeserver”一起使用“zc.zservertraeslog”,请确保“zc.zservertracelog”包含在您的Python路径中,并在服务器部分包含“zservertracelog”选项

[server:main]
use = egg:zc.zkzopeserver
zookeeper = zookeeper.example.com:2181
path = /fooservice/providers
monitor_server = 127.0.0.1:0
zservertracelog = true

变更历史

0.3.0 (2012-02-02)

  • 添加了日志配置支持。

  • 修复:服务器使用socket.getsockname()返回的主机信息进行注册,这是无用的。

  • 修复:终止服务器(使用SIGTERM)不会干净地关闭ZooKeeper连接,导致注册的临时节点移除延迟。

0.2.0 (2012-01-18)

添加了使用zc.zservertracelog生成跟踪日志的可选支持。

0.1.0 (2011-12-11)

首次发布

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

zc.zkzopeserver-1.3.2.tar.gz (8.0 kB 查看散列)

上传时间

由以下机构支持