亦征_个人页

个人头像照片 亦征
个人头像照片
15
5
0

个人介绍

阿里云数据库表格存储(TableStore) 高级开发工程师

擅长的技术

  • Java
  • 数据库
获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
暂无更多信息
  • 发表了文章 2020-01-13

    Tablestore入门手册-UpdateRow接口详解

  • 发表了文章 2020-01-10

    Tablestore入门手册-UpdateRow接口详解

  • 发表了文章 2019-07-30

    海量结构化数据存储技术揭秘:Tablestore表设计最佳实践

  • 发表了文章 2019-07-23

    海量结构化数据存储技术揭秘:Tablestore存储和索引引擎详解

  • 发表了文章 2019-04-15

    基于TableStore的海量气象格点数据解决方案实战

  • 发表了文章 2018-05-02

    90后实习生,是如何成长为阿里云分布式NoSQL领域专家

  • 发表了文章 2017-11-21

    基于云上分布式NoSQL的海量气象数据存储和查询方案

  • 发表了文章 2017-11-08

    表格存储如何实现高可靠和高可用

  • 发表了文章 2017-11-08

    表格存储如何实现跨区域的容灾

  • 发表了文章 2016-10-13

    表格存储的宽行流式读功能

  • 发表了文章 2016-05-07

    表格存储的Java SDK优化经验

  • 发表了文章 2016-05-07

    表格存储的Java SDK性能优化经验

  • 发表了文章 2016-04-21

    201604深圳云栖大会Workshop - 使用推流软件加入视频直播

  • 发表了文章 2016-04-21

    201604深圳云栖大会Workshop - 使用登陆码获取用户信息

  • 发表了文章 2016-04-20

    201604深圳云栖大会Workshop - 使用表格存储开发用户弹幕功能

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2019-07-17

    如何排除表格存储JavaSDK自带的log库

    表格存储JavaSDK使用的是slf4j的日志接口和log4j2的日志接口实现。

    slf4j是通用的Java日志接口,可以对接不同的日志库实现,因此也就可以将SDK依赖的log4j2排除,换用其他的日志库。

    假设应用使用的日志库为log4j (注意,log4j与log4j2不同),可通过以下方法排除SDK依赖的日志库,引入slf4j-log4j的库,使得应用的业务代码和SDK都采用log4j打印日志。

    1. 排除SDK依赖的log4j2日志库实现:

          <dependency>
              <groupId>com.aliyun.openservices</groupId>
              <artifactId>tablestore</artifactId>
              <version>4.3.1</version>
              <exclusions>
                  <exclusion>
                      <groupId>org.apache.logging.log4j</groupId>
                      <artifactId>log4j-api</artifactId>
                  </exclusion>
                  <exclusion>
                      <groupId>org.apache.logging.log4j</groupId>
                      <artifactId>log4j-core</artifactId>
                  </exclusion>
                  <exclusion>
                      <groupId>org.apache.logging.log4j</groupId>
                      <artifactId>log4j-slf4j-impl</artifactId>
                  </exclusion>
              </exclusions>
          </dependency>
      
    2. 引入slf4j-log4j12

          <dependency>
              <groupId>org.slf4j</groupId>
              <artifactId>slf4j-log4j12</artifactId>
              <version>1.6.1</version>
          </dependency>
      
    踩0 评论0
  • 提交了问题 2017-05-25

    如何排除表格存储JavaSDK自带的log库

  • 回答了问题 2019-07-17

    使用表格存储的JavaSDK遇到SocketTimeoutException怎么查

    JavaSDK抛出SocketTimeoutException的条件:

    当“SDK接收到数据的时间”减去“SDK发送数据的时间”超过SocketTimeout时,SDK会抛出SocketTimeoutException,这段时间内包含了“应用发送请求(包含网络传输)”、“服务端处理”、“应用接收响应(包含网络传输)”。SocketTimeout可以在创建OTSClient的时候自定义,如果没有设置,目前默认是15s。

    SocketTimeoutException可能的几种原因:

    _

    1. 网络不通

    如果全部请求都是SocketTimeoutException,那么首先可能是网络不通,可以通过ping或者curl命令测试是否为网络问题:

    ping aaaa.cn-hangzhou.ots.aliyuncs.com
    
    curl aaaa.cn-hangzhou.ots.aliyuncs.com
    
    正常情况下,curl会返回类似下面的结果:
    <?xml version="1.0" encoding="UTF-8"?>
    <Error><Code>OTSUnsupportOperation</Code><Message>Unsupported operation: ''.</Message><RequestID>00054ec5-822c-8964-adaf-990a07a4d0c9</RequestID><HostID>MTAuMTUzLjE3NS4xNzM=</HostID></Error>
    

    如果发现是网络不通,可能的原因比如是在非ECS环境使用了内网的endpoint。

    2. 服务端处理慢,超过了SDK设置的SocketTimeout值

    一个请求在表格存储服务端的处理时间几乎是不会超过15秒的,因为服务端也会有一个超时时间,大概是10秒,超过这个时间会给客户端返回OTSTimeout错误。

    但是假设在SDK端自定义了SocketTimeout,比如2秒,那么当服务端执行时间超过2秒时,SDK就会抛出SocketTimeoutException错误。

    3. 网络传输慢

    如果服务端处理时间并不长,但是网络传输慢,导致整体延迟长,也会导致SocketTimeoutException,这种情况要看下是否流量过高,带宽吃紧,网络重传率高等。

    4. Java进程的GC频繁,经常FullGC,导致SocketTimeoutException

    这种情况也会经常遇到,程序负载高,GC频繁时出现SocketTimeoutException。

    原因是当发生FullGC的时候,请求发不出去,或者收不到响应,超过了SDK端设置的SocketTimeout,就会抛出SocketTimeoutException。

    这种情况下需要用工具分析进程的GC情况,解决进程频繁GC的问题。

    踩0 评论0
  • 提交了问题 2017-05-05

    使用表格存储的JavaSDK遇到SocketTimeoutException怎么查

  • 回答了问题 2019-07-17

    使用表格存储(原OTS)的Java SDK遇到Protobuf或HttpClient库冲突时怎么办?

    如果出现HttpClient冲突时,可以把HttpClient相关的库也加到exclusion里,配置如下:

        <dependency>
            <groupId>com.aliyun.openservices</groupId>
            <artifactId>ots-public</artifactId>
            <version>2.2.4</version>
            <classifier>jar-with-dependencies</classifier>
            <exclusions>
                <exclusion>
                    <groupId>com.google.protobuf</groupId>
                    <artifactId>protobuf-java</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpasyncclient</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息