1 配置文件参考
1.1 通用配置文件
- idc/database_config.php
功能:数据库配置
样例:
<?php
class DatabaseConfig {
public static function getDbInfo(){
$database = array( //dict结构: db_name => 配置详情
'default' => array(
'ip' => '127.0.0.1',
'port' => 3306,
'user' => 'root',
'password' => '123456',
'charset' => 'utf8',
'mode' => 'async'
),
'qcloudTag' => array(
'ip' => '10.182.21.52',
'port' => 3300,
'user' => 'ccdb',
'password' => 'UEDh5ZVx93IOGYCs',
'charset' => 'utf8',
'mode' => 'async'
),
'qcloudTagCheck' => array(
'ip' => '10.182.21.52',
'port' => 3300,
'user' => 'ccdb',
'password' => 'UEDh5ZVx93IOGYCs',
'charset' => 'utf8',
'mode' => 'async'
),
'cAuth' => array(
'ip' => '10.182.21.52',
'port' => 3300,
'user' => 'ccdb',
'password' => 'UEDh5ZVx93IOGYCs',
'charset' => 'latin1',
'mode' => 'async'
),
);
return $database;
}
/*
* 实例名
* 库名
* 表明
*
*/
const DEFAULT_HANDLER = 'default';
const TAG_HANDLER = 'qcloudTag';
const TAG_CHECK_HANDLER = 'qcloudTagCheck';
const CAUTH_HANDLER = 'cAuth';
/*
* db 名
*
*/
const DEFAULT_DB = 'test';
const TAG_DB = 'qcloudTag';
const CAUTH_DB = 'cAuth_test';
}
数据库配置在物料库由工作人员统一配置,客户无需更改内容,如有变更,联系运维人员操作。
- idc/hosts_config.php
功能:下游服务配置
样例:
const CMSI_URL = "http://sz.cmsi.isd.com/interface.php";// 消息服务url,用于发送短息和邮件
const ACCOUNT_URL = "http://account.tencentyun.com:50001"; // 账户服务url
static $elk_url_module = array(
self::ACCOUNT_URL => 'QC_ACCOUNT',
); //需要发送elk日志的下游服务
static $elk_all_http_report = true; //是否开启全量elk报告
elk_all_http_report开关打开后,会把全量的http调用日志打到elk。
1.2 授权服务(grant/grant_write)
- module_config.php
功能:接口模块请求配置,
'module_frequency_time'=> 1, //模块请求统计固定间隔时间,单位s
'module_frequency_max_num'=> 1000, //模块固定时间间隔最大请求量
'module_interface_frequency_time'=> 1, //接口请求统计固定间隔时间,单位s
'module_interface_frequency_max_num'=> 400, //接口固定时间间隔最大请求量
'module_interface_frequency_field_time'=> 1, //接口请求统计固定间隔时间,单位s
'module_interface_frequency_field_max_num'=> 100, //接口固定时间间隔最大请求量
接口统计有一定的性能代价,高负载情况下可以适当调整阈值。
请求量的配置用于系统频控。
- white_list.php
功能:白名单配置
const STRATEGY_TOTALITY_NAME = "strategy_totality";
const STRATEGY_TOTALITY_DEFAULT_MAX_NUM = 10000;
const RELATED_TOTALITY_NAME = "related_totality";
const RELATED_TOTALITY_DEFAULT_MAX_NUM = 600;
const STRATEGYINFO_LENGTH_NAME = "strategyinfo_length";
const STRATEGYINFO_LENGTH_MAX_NUM = 10000;
const COS_POLICY_LENGTH_NAME = "cos_policy_length";
const COS_POLICY_LENGTH_MAX_NUM = 30000;
白名单策略的一些配置,请在开发人员指导下进行变更。
1.3 账户服务(account/waccount)
- account.php
功能:账户服务系统内部用到的配置,不可更改。
- auth_config.php
功能:实名认证相关配置。
const addrTag = '_ad!@#ad_';
const AUTH_INTERVAL_TIME = 30; //两次认证间隔时间必须超过30天
const AUTH_MAX_TIMES = 3; //同一个认证主体最多认证三次
#认证统一标志
const USER_PASS_AUTHENTICATE = 1;
const USER_NOT_AUTHENTICATE = 0;
#银行卡的状态
const BANK_STATUS_SUBMIT = 0;//提交
const BANK_STATUS_SENDED = 1;//发送给teg
const BANK_STATUS_PASS = 2;//认证通过
const BANK_STATUS_FAIL = 3;//认证失败
const BANK_STATUS_SUCCESS = 4;//打款成功
const BANK_STATUS_CLEAR = 5;//清空信息
const BANK_STATUS_WAITING = 33;//待确认
#实名表的状态
const CHECK_STATE_NOT_SUBMIT = 0;//未提交
const CHECK_STATE_AUDITING = 1;//审核中
const CHECK_STATE_NOT_PASS = 2;//未通过
const CHECK_STATE_PASS = 3;//通过
const CHECK_STATE_WAITING = 33;//待确认
#实名认证状态
const USER_AUTHENTICATE_EVEN_NOT = 0;//未认证
const USER_AUTHENTICATE_AUDITING = 1;//审核中/认证中
const USER_AUTHENTICATE_WAITING = 33;//待确认
const USER_AUTHENTICATE_NOT_PASS = 2;//不通过
const USER_AUTHENTICATE_PASS = 3;//通过/已认证
#实体类型
const TYPE_PERSONAL = 0;//个人
const TYPE_ENTERPRISE = 1;//企业
const AREA_MAINLAND = 0;//大陆
const AREA_HK_MACAO = 1;//港澳
const AREA_TAIWAN = 2;//台湾
const AREA_OVERSEAS = 3;//外藉
#实名认证方式
const AUTHTYPE_UNKNOWN = 0;//未知
const AUTHTYPE_INFORMATION_SUBMIT = 1;//提交资料审核认证
const AUTHTYPE_TENPAY = 2;//个人财付通,老的已下线
const AUTHTYPE_ENTERPRISE_BANK = 3;//企业银行卡
const AUTHTYPE_PERSONAL_WECHAT = 4;//微信
const AUTHTYPE_PERSONAL_QQ_MOBILE = 5;//手Q
const AUTHTYPE_ENTERPRISE_WECHAT = 6;//企业微信
const AUTHTYPE_OFFLINE = 7;//线下认证
const AUTHTYPE_INTERNATIONAL_CREDITCARD = 8;//国际信用卡
AUTH_INTERVAL_TIME 和 AUTH_MAX_TIMES两个配置可修改。
- token_config.php
功能: 账户登陆所拥有token相关配置属性。
const LOGIN_TOKEN_VALID_TIME = 60; // 登陆token有效时常,单位秒
const BIND_TOKEN_VALID_TIME = 600; // 绑定的qq/wx登陆时token的有效时长,单位秒
const COLL_PHONE_VERIFY_TOKEN_VALID_TIME = -1;// 电话绑定登陆token的有效时长,单位秒
const MINA_CODE_TOKEN_VALID_TIME = 3600; // s
const SUB_ACCOUNT_LOGIN_TOKEN_VALID_TIME = 600; // 子账户登陆有效时长
const SUB_ACCOUNT_SECRET_TOKEN_VALID_TIME = -1; //子账户密钥登陆有效时长
2 日志文件参考
日志目录: /data/log/{service_name}
目录下有5个子目录,下面分别进行介绍。
acc。http调用日志,文件粒度:日。
2020-12-14 11:09:13|BaseHttpClientService|1170|100003|[SWOOLE_WTAG] sys_err:http error //http调用失败。 2020-12-14 11:10:58|BaseHttpClientService|14883|0|ok //http调用成功
db。数据库执行系统日志,文件粒度: 小时。
[2020-12-14 15:46:29][getDb][229][[get handler][event id :0][try to fetch platform-account.qcloudTag.utf8 db handler][pid:403115][cur conn:1][idil num:1]] [2020-12-14 15:46:29][getDb][241][[result handler][event id :0][platform-account.qcloudTag.utf8:conn suc]]
req。服务请求日志,文件粒度:小时。
[2020-12-14 17:53:50][INFO][0010016064623351308719][DispatchUtil][dispatch][19][REQUEST : {"version":"v1.0.0","componentName":"CDB","eventId":1607939630,"timestamp":1607939630396,"interface":{"interfaceName":"qcloud.tag.addResourceTag","para":{"uin":100004604168,"createUin":100004604168,"tagKey":"tbase_key1","tagValue":"tbase_v alue1","resource":"qcs::ctsdb:chongqing:uin/100004604168:instance/ctsdb-81u2cnm3d"}}} [{"remote_port":57640,"remote_addr":"192.168.241.122","real_ip":""}]] // 请求日志,包含请求参数,服务接口名,上游地址,上游服务等信息 [2020-12-14 17:53:53][INFO][0010016064623351308719][DispatchUtil][format_output][125][RESPONSE : {"version":"v1.0.0","timestamp":1607939630396,"eventId":1607939630,"componentName":"SWOOLE_WTAG","returnValue":0,"returnCode":0,"returnMessage":"ok","interface":"qcloud.tag.addResourceTag","data":[]}] //应答日志。
sys。系统框架日志。文件粒度:日。
[2020-12-14 01:20:22][ERROR][0010016064623351308719][main][{closure}][42][SWOOLE_WTAG_worker start [pid:661703]] // swoole框架启动日志,worker进程启动了
detail。业务日志。文件粒度: 小时。
业务代码里的日志都在这里,当需要观察业务调用流程时,可以查看本日志。当出现异常时,也可以在这里查看堆栈日志。
[2020-12-14 18:01:58][ERROR][0010016064623351308719][HttpAccountService][sendRequest][42][HttpAccountService_sendRequest_response=====>>>{"code":0,"res_info":"ok","data":"{\"version\":1,\"timestamp\":1607940118,\"eventId\":\"\",\"componentName\":\"SWOOLE_WHITELIST\",\"returnValue\":0,\"returnCode\":0,\"returnMessage\":\"ok\",\"
interface\":\"qcloud.Qconfig.qconfigBatchGetWhiteList\",\"data\":[]}","msg":"ok"}]
[2020-12-14 18:01:58][INFO][0010016064623351308719][BaseDbService][_execute][68][[sql begin] [event_id:0] [sql:SELECT count(*) as cnt FROM qcloudTag.tagResourceRelate WHERE uin = '100004606348' AND region = 'chongqing' AND serviceType = 'cvm' AND resourcePrefix = 'instance' AND resourceId = 'ins-bg4yrcyd']]
[2020-12-14 18:01:58][INFO][0010016064623351308719][BaseDbService][_execute][149][[sql result] [event_id:0] [sql:SELECT count(*) as cnt FROM qcloudTag.tagResourceRelate WHERE uin = '100004606348' AND region = 'chongqing' AND serviceType = 'cvm' AND resourcePrefix = 'instance' AND resourceId = 'ins-bg4yrcyd'] [result:{"code
":
3 性能指标
- 用户列表查询 pct99: 300ms。
- 新建 pct99: 1s。
- 用户组列表 pct99: 300ms。
- 新建用户组 pct99: 1s。
- 策略列表 pct99:200ms。
- 新建自定义策略 pct99: 1.5s。
- 策略绑定用户 pct99: 800ms。
- cpu使用率 5%。
- 内存占用率 10%。
4 技术指标
- 用户创建成功率 99.9%
- 用户组查询成功率 99.9%
- 策略创建成功率99.9%
- 策略绑定成功率99%