【TcaplusDB知识库】表操作—如何审核加表申请


【TcaplusDB知识库】表操作—如何审核加表申请

加表申请将加表相关数据写入申请单,审核加表数据是所申请的表分配shard,proxy资源、及指定表的引擎参数。

请求地址

POST
http://OmsAddress/app/newoms.php/webservice/business/table/add-table-confirm?cmd=10002&ip-type=webservicerest&access-token=AccessTokenVal

POST请求参数说明

参数名称数据类型说明是否必填字段备注
uid 整型 加表申请单据的id  
table_param 数组 修改表相关参数当加表时,选择的为简单模式加表(calc_resource_type=1) 表参数名称为:active_record_num,total_record_num,estimated_read_load,estimated_write_load,key_avarage_record_size,value_avarage_record_size当加表时,选择的为复杂模式加表(calc_resource_type=2) 表参数名称为:total_record_num,key_avarage_record_size,value_avarage_record_size,pcu,relationship_chain_interval,relationship_chain_count,index_count,read_index_interval,read_index_count,read_interval write_interval 否 可只填写需要修改的字段 表参数对应中文名称,及参数值的范围见申请加表的表参数描述
machine_choose 字符串 分配资源(shard及proxy)方式(自动:auto,手动:manual) 否,默认自动 自动分配加表所需的shard、proxy时,正式集群只能把shard、proxy分配到独占机器上,测试集群可分配到共享机器上
svr_list 数组 自动分配资源时,指定将shard分配到的机器的ip列表,不指定时,表示所有满足条件的可用资源,手动分配资源时,此字段不做要求  
proxy_list 数组 自动分配资源时,指定将proxy分配到的机器的ip列表,不指定时,表示所有满足条件的可用资源,手动分配资源时,此字段不做要求  
version 字符串 加表过程中,若需要安装新tcapssvr、tcaproxy进程,进程的版本号 否,默认为表所在的集群的的center的版本号  
engine_parameters 字符串 表引擎参数 否,根据表参数计算所得表引擎参数  
alloc_svr_type 字符串 手动分配shard所在的tcapsvr的机型(shard必须分配在同机型的tcapsvr上,分配的总的shard个数等于或大于所需,测试集群下,一张表只需要一个shard) 否,若指定为手动分配资源,则必填  
alloc_shard_list 数据 手动分配shard的列表 格式如下: {tcapsvr_name_1:1;tcapsvr_name_2:2} 否,若指定为手动分配资源,则必填  
alloc_proxy_type 字符串 手动分配proxy所在的tcaproxy的机型(proxy必须分配在同机型的tcaproxy上,分配的总的proxy个数必须等于所需,测试集群下,一个游戏区只需要一个proxy) 否,若指定为手动分配资源,则必填  
alloc_proxy_list 数组 手动分配proxy的列表 {tcaproxy_name_1:1;tcaproxy_name_2:1} 否,若指定为手动分配资源,则必填  
verify_process_tcapsvr 整型 按自动、或者手动分配的shard在未起进程的tcapsvr机器上时,若当前集群已有的tcapsvr进程达到集群的告警线,是否继续(0:不继续,1:继续) 否,不继续  
verify_process_porxy 整型 需要新新增加proxy进程时,若当前集群已有的tcaproxy进程达到集群的告警线,是否继续(0:不继续,1:继续) 否,不继续  
conf_app_id 整型 确认表信息:表所在的业务id    
conf_zone_id 整型 确认表信息:表所在的游戏区的id    
conf_table_name 字符串 确认表信息:表名称    

 

Data参数

使用json格式表示记录相关信息,示例如下:

{
  "conf_app_id": 2,
  "machine_choose": "manual",
  "uid": 108,
  "conf_zone_id": 3,
  "conf_table_name": "test_table_generic_modify",
  "alloc_svr_type": "Z3",
  "alloc_shard_list": {
      "host1_master_node": 1
  }
}

返回语法

返回参数说明

字段名称数据类型说明备注
trans_id 整型 生成的对应的事务的id  
set_id 整型 事务所在的集群  
username 字符串 事务归属者  

 

请求示例

通过 curl 方法发起请求

命令中的红色部分是需要用户自行填写的参数,请参阅url中GET参数说明

curl -H "Content-type: application/json" -X "POST" -d '{ "conf_app_id": 2, "machine_choose": "manual", "uid": 108, "conf_zone_id": 3, "conf_table_name": "test_table_generic_modify", "alloc_svr_type": "Z3", "alloc_shard_list": { "host1_master_node": 1 } }' http://omsaddress/app/newoms.php/webservice/business/table/add-table-confirm?cmd=10002&ip-type=webservicerest&access-token=

返回示例

成功返回示例

http请求的Status=200

{
  "set_id": 126,
  "trans_id": 404,
  "user": "tcaplus"
}

错误返回

http请求的Status!=200

{
  "uid": [
      "Can't handle application,status not pending,application status:Failed To Exec"
  ]
}
{
  "conf_zone_id": [
      "table info confirm:error conf_zone_id(4)"
  ]
}

img

TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。