-
Notifications
You must be signed in to change notification settings - Fork 692
Java metaclientconfig
dennis zhuang edited this page May 16, 2013
·
10 revisions
在创建生产者或者消费者之前,我们需要配置客户端,这都是通过com.taobao.metamorphosis.client.MetaClientConfig
类。
这个类最重要的几个属性如下:
- zkConfig,zookeeper配置。到这里你应该清楚MetaQ是通过zookeeper来做服务的路由和查找。服务端将自己注册到zookeeper,而客户端连接到zookeeper,查找到服务端的信息,然后再跟服务端打交道(生产或者消费)。比喻来说,zookeeper类似电话本,你将信息写到电话本,下次无论什么时候都可以根据姓名找到你想找的电话号码。zkConfig是
com.taobao.metamorphosis.utils.ZkUtils.ZKConfig
类,它包括6个属性: ** zkRoot, MetaQ服务端集群的根path,必须跟服务端配置保持一致,这就类似电话本里的姓名,姓名不对,你就找不到正确的电话号码。zkRoot不对,你也找不到正确的MetaQ服务端集群。 ** zkConnect, zookeeper集群地址列表,形如host:port,host:port
的字符串。 ** zkSessionTimeoutMs, zookeeper客户端连接的最大超时时间,默认为30秒,单位毫秒,具体请看zookeeper关于session timeout的文档。 ** zkConnectionTimeoutMs, 连接zk集群的最大超时时间,默认也是30秒,单位毫秒。 ** zkSyncTimeMs, zookeeper集群内的数据同步最大延迟,这个需要你去测量和估计,默认是5秒,单位毫秒。消费者在负载均衡失败后,会至少等待这么长时间再尝试。 - recoverThreadCount,客户端后台恢复线程数,默认CPUS个。当一条消息重复消费多次还是失败,那么根据你配置的策略,这条消息可能被丢弃,也可能存入客户端的本地磁盘做恢复重试,这个参数设置恢复线程数。
- recoverMessageIntervalInMills, 客户端后台恢复线程的恢复间隔,默认5分钟,单位毫秒。
- 其他一些属性你基本不会用到。但是某些情况下,你可能想直接连接某个服务器,那么可以设置
serverUrl
这个属性,比如设置为meta://10.100.100.25:8120
,这种情况下创建的客户端将只连接这台服务器。通常用于调试,测试或者监控。