Tair java c++客户端配置使用

太叔马鲁
2023-12-01

获取客户端 

应用系统通过Tair客户端访问Tair系统,客户端的功能包括和config server通信,获取数据服务器列表,并根据key选择相应的数据服务器,将用户的请求发送到服务器上。

Tair客户端现在支持以下语言:

  • Java
  • C/C++
  • [1]PHP (dev)

Java客户端 

Tair的Java客户端现在包含两个版本:

  1. 2.2.x
  2. 2.3.x

两个版本不兼容,因为协议有修改,两者版本的客户端拥有不同的package name,所以可以共存。更详细的信息请参见FAQ中关于客户端的描述

Tair的Java客户端包括class、source、javadoc三个jar包。由于Maven和Antx的库的路径不同,所以这里分开介绍。

依赖关系 

Tair的Java客户端直接依赖的只有两个包:

  1. mina (1.x)
  2. common-monitor

其中mina为底层的通信框架,common-monitor为哈勃埋点使用。
mina依赖较多的第三方包,所以tair的java客户端也间接的依赖这些包,包括:

  1. commons-logging
  2. commons-lang
  3. slf4j-api
  4. slf4j-log4j12
  5. logkit
  6. log4j

Maven 

在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 

在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的客户端开发了,请参见快速开发指南

C/C++客户端 

Java客户端 

public void testInitMultiCluster() {
             MultiClusterTairManager mcTairManager = new MultiClusterTairManager();
            mcTairManager.setConfigID("item-daliy"); //对应diamond上的dataid, groupid缺省为dataid-GROUP
             mcTairManager.setDynamicConfig(true);  //非常重要,不要忘记
             mcTairManager.init();
mcTairManager.put.....  // go
   }

Spring 配置 


<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>



C++客户端 

yum install -b current tair-devel

 类似资料: