应用系统通过Tair客户端访问Tair系统,客户端的功能包括和config server通信,获取数据服务器列表,并根据key选择相应的数据服务器,将用户的请求发送到服务器上。
Tair客户端现在支持以下语言:
Tair的Java客户端现在包含两个版本:
两个版本不兼容,因为协议有修改,两者版本的客户端拥有不同的package name,所以可以共存。更详细的信息请参见FAQ中关于客户端的描述
Tair的Java客户端包括class、source、javadoc三个jar包。由于Maven和Antx的库的路径不同,所以这里分开介绍。
Tair的Java客户端直接依赖的只有两个包:
其中mina为底层的通信框架,common-monitor为哈勃埋点使用。
mina依赖较多的第三方包,所以tair的java客户端也间接的依赖这些包,包括:
在Maven的仓库中,tair客户端路径位于com/taobao/common/tair下,通常你只要在你项目的pom文件中添加以下依赖关系便可: 2.2.x的版本(已废弃,请用2.3.x)
<code class="xml"> <dependency> <groupId>com.taobao.common.tair</groupId> <artifactId>common-tair</artifactId> <version>_TAIR_CLIENT_VERSION_</version> </dependency> </code>
2.3.x的版本
<code class="xml"> <dependency> <groupId>com.taobao.tair</groupId> <artifactId>tair-client</artifactId> <version>_TAIR_CLIENT_VERSION_</version> </dependency> </code>
将 _TAIR_CLIENT_VERSION_ 替换成相应的版本号,比如: _2.2.5_或者_2.3.2_ , 重新构建你的项目,你的项目现在应该已经添加了Tair客户端引用了。
由于maven的仓库可能丢失间接依赖关系,所以除了添加tair客户端的依赖外,你还需要添加间接依赖的包:
<code class="xml"> <dependency> <groupId>org.apache.mina</groupId> <artifactId>mina-core</artifactId> <version>1.1.5</version> </dependency> <dependency> <groupId>com.taobao.common.monitor</groupId> <artifactId>common-monitor</artifactId> <version>1.0.3</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1</version> <exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>avalon-framework</groupId> <artifactId>avalon-framework</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.4.3</version> <scope>runtime</scope> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>com.taobao.common.smonitor</groupId> <artifactId>smonitor</artifactId> <version>1.0.4</version> </dependency>
在Antx中,Tair的客户端jar包位于二方库的taobao/common/tair目录下,要引用Tair的客户端,可以使用以下配置:
1. 在总控文件中添加
<code class="xml"> <include uri="taobao/common/tair" version="TAIR_CLIENT_VERSION"/> </code>
2. 在需要使用Tair的子工程中添加
<code class="xml"> <include uri="taobao/common/tair"/> </code>
现在你的项目已经依赖了Tair的客户端,可以开始使用Tair的客户端开发了,请参见快速开发指南。
public void testInitMultiCluster() { MultiClusterTairManager mcTairManager = new MultiClusterTairManager(); mcTairManager.setConfigID("item-daliy"); //对应diamond上的dataid, groupid缺省为dataid-GROUP mcTairManager.setDynamicConfig(true); //非常重要,不要忘记 mcTairManager.init();
mcTairManager.put..... // go }
<bean id="tairManager" class="com.taobao.tair.impl.mc.MultiClusterTairManager" init-method="init"> <property name="configID"> <value>item-daily</value> </property> <property name="dynamicConfig"> <value type="java.lang.Boolean">true</value> </property> </bean>
yum install -b current tair-devel