配置中心重构主键ConfigId
智能大石头 authored at 2024-04-01 23:12:36
19.98 KiB
Stardust
<style>
    table {
        border-collapse: collapse;
        border: 1px solid;
        border-color: rgb(211, 202, 221);
    }

    table thead,
    table tr {
        border-top-width: 1px;
        border-top-style: solid;
        border-top-color: rgb(211, 202, 221);
    }

    table {
        border-bottom-width: 1px;
        border-bottom-style: solid;
        border-bottom-color: rgb(211, 202, 221);
    }

    table td,
    table th {
        padding: 5px 10px;
        font-size: 14px;
        font-family: Verdana;
        color: rgb(95, 74, 121);
    }

    table tr:nth-child(even) {
        background: rgb(223, 216, 232)
    }

    table tr:nth-child(odd) {
        background: #FFF
    }
</style>
<h3>应用配置(AppConfig)</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>ProjectId</td>
            <td>项目</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>资源归属的团队</td>
        </tr>

        <tr>
            <td>Category</td>
            <td>类别</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>AppId</td>
            <td>应用</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>对应StarApp</td>
        </tr>

        <tr>
            <td>Name</td>
            <td>名称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td title="唯一索引">UQ</td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>DisplayName</td>
            <td>显示名</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Version</td>
            <td>版本</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>应用正在使用的版本号,返回小于等于该版本的配置</td>
        </tr>

        <tr>
            <td>NextVersion</td>
            <td>下一版本</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>下一个将要发布的版本,发布后两者相同</td>
        </tr>

        <tr>
            <td>PublishTime</td>
            <td>定时发布</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td>在指定时间自动发布新版本</td>
        </tr>

        <tr>
            <td>CanBeQuoted</td>
            <td>可被依赖</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>打开后,才能被其它应用依赖</td>
        </tr>

        <tr>
            <td>Quotes</td>
            <td>依赖应用</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>所依赖应用的集合</td>
        </tr>

        <tr>
            <td>IsGlobal</td>
            <td>全局</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>该应用下的配置数据作为全局数据,请求任意应用配置都返回</td>
        </tr>

        <tr>
            <td>Readonly</td>
            <td>只读</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>只读应用,不支持客户端上传配置数据,可用于保护数据避免被错误修改</td>
        </tr>

        <tr>
            <td>EnableWorkerId</td>
            <td>雪花标识</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>给应用端分配唯一工作站标识,用于生成雪花Id,随着使用递增</td>
        </tr>

        <tr>
            <td>EnableApollo</td>
            <td>阿波罗</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>ApolloMetaServer</td>
            <td>阿波罗地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>ApolloAppId</td>
            <td>阿波罗账号</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>ApolloNameSpace</td>
            <td>阿波罗命名空间</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>默认application,也可以填依赖的公共命名空间,但建议为公共命名空间建立应用依赖。</td>
        </tr>

        <tr>
            <td>UsedKeys</td>
            <td>已使用</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td>用过的配置项</td>
        </tr>

        <tr>
            <td>MissedKeys</td>
            <td>缺失键</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td>没有读取到的配置项</td>
        </tr>

        <tr>
            <td>CreateUserID</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserID</td>
            <td>更新者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>备注</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>应用规则(AppRule)</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Rule</td>
            <td>规则</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td>分号分段,逗号间隔多项匹配值,比如IP=10.*,172.*;LocalIP=192.*</td>
        </tr>

        <tr>
            <td>Result</td>
            <td>结果</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>比如Scope=dev</td>
        </tr>

        <tr>
            <td>Priority</td>
            <td>优先级</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>数字越大优先级越高</td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateUserID</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserID</td>
            <td>更新者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>备注</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>应用依赖(AppQuote)</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>AppId</td>
            <td>应用</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>原始应用,该应用依赖别人</td>
        </tr>

        <tr>
            <td>TargetAppId</td>
            <td>目标应用</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>被原始应用依赖的应用</td>
        </tr>

        <tr>
            <td>CreateUserID</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>配置数据(ConfigData)</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>AppId</td>
            <td>应用</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Key</td>
            <td>名称</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>下划线开头表示仅用于内嵌,不能返回给客户端;多级名称用冒号分隔</td>
        </tr>

        <tr>
            <td>Scope</td>
            <td>作用域</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Value</td>
            <td>数值</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td>正在使用的值,支持内嵌 ${key@app:scope}</td>
        </tr>

        <tr>
            <td>Version</td>
            <td>版本</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>当前版本号,每次修改都是应用版本加一</td>
        </tr>

        <tr>
            <td>Enable</td>
            <td>启用</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>NewValue</td>
            <td>期望值</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td>已被修改,尚未发布的值,支持内嵌 ${key@app:scope}</td>
        </tr>

        <tr>
            <td>NewVersion</td>
            <td>新版本</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td>下一个将要发布的版本,发布后两者相同</td>
        </tr>

        <tr>
            <td>NewStatus</td>
            <td>新状态</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>启用/禁用/删除</td>
        </tr>

        <tr>
            <td>CreateUserID</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateUserID</td>
            <td>更新者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateTime</td>
            <td>更新时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>UpdateIP</td>
            <td>更新地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>备注</td>
            <td>String</td>
            <td>500</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>
<h3>配置历史(ConfigHistory)</h3>
<table>
    <thead>
        <tr>
            <th>名称</th>
            <th>显示名</th>
            <th>类型</th>
            <th>长度</th>
            <th>精度</th>
            <th>主键</th>
            <th>允许空</th>
            <th>备注</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Id</td>
            <td>编号</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td title="自增">AI</td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>AppId</td>
            <td>应用</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Action</td>
            <td>操作</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Success</td>
            <td>成功</td>
            <td>Boolean</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>Remark</td>
            <td>内容</td>
            <td>String</td>
            <td>2000</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>TraceId</td>
            <td>追踪</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td>最新一次查看采样,可用于关联多个片段,建立依赖关系,随线程上下文、Http、Rpc传递</td>
        </tr>

        <tr>
            <td>CreateUserID</td>
            <td>创建者</td>
            <td>Int32</td>
            <td></td>
            <td></td>
            <td></td>
            <td>N</td>
            <td></td>
        </tr>

        <tr>
            <td>CreateTime</td>
            <td>创建时间</td>
            <td>DateTime</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>

        <tr>
            <td>CreateIP</td>
            <td>创建地址</td>
            <td>String</td>
            <td>50</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br></br>