参考信息

最近更新时间: 2024-12-19 17:12:00

1 配置文件参考

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

}

数据库配置在物料库由工作人员统一配置,客户无需更改内容,如有变更,联系运维人员操作。

  1. 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)

  1. 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,     //接口固定时间间隔最大请求量

接口统计有一定的性能代价,高负载情况下可以适当调整阈值。

请求量的配置用于系统频控。

  1. 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)

  1. account.php

功能:账户服务系统内部用到的配置,不可更改。

  1. 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两个配置可修改。

  1. 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个子目录,下面分别进行介绍。

  1. 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调用成功
    
  2. 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]]
    
  3. 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":[]}] //应答日志。
    
  4. sys。系统框架日志。文件粒度:日。

    [2020-12-14 01:20:22][ERROR][0010016064623351308719][main][{closure}][42][SWOOLE_WTAG_worker start [pid:661703]]
    
    // swoole框架启动日志,worker进程启动了
    
  5. 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 性能指标

  1. 用户列表查询 pct99: 300ms。
  2. 新建 pct99: 1s。
  3. 用户组列表 pct99: 300ms。
  4. 新建用户组 pct99: 1s。
  5. 策略列表 pct99:200ms。
  6. 新建自定义策略 pct99: 1.5s。
  7. 策略绑定用户 pct99: 800ms。
  8. cpu使用率 5%。
  9. 内存占用率 10%。

4 技术指标

  1. 用户创建成功率 99.9%
  2. 用户组查询成功率 99.9%
  3. 策略创建成功率99.9%
  4. 策略绑定成功率99%