全链路技术方案-链路关系
<h2>目标</h2>
<pre><code> 一、完成实时计算模块/离线计算模块开发
1.绘制出数据服务/数据库/表 与应用服务之间的拓扑关系
2.绘制出应用服务对外暴露的访问源
3.应用结构计算离线任务
</code></pre>
<h2>计划</h2>
<table>
<thead>
<tr>
<th></th>
<th>计划</th>
<th>实际</th>
</tr>
</thead>
<tbody>
<tr>
<td>实时计算</td>
<td>2d</td>
<td>-</td>
</tr>
<tr>
<td>离线计算</td>
<td>8d</td>
<td>-</td>
</tr>
<tr>
<td>联调</td>
<td>3d</td>
<td>-</td>
</tr>
</tbody>
</table>
<h2>总体设计</h2>
<h3>界面</h3>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=b18fa76ae4837c8a16b889688f05d972" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=78a51914abd23acc993d23dce5b0323e" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=d514c8888a70853788ca27db2b1b6fc4" alt="" /></p>
<h3>组件说明</h3>
<ul>
<li>实时计算模块,从Kafka/mongo接受数据,进行实时计算,聚合sql事件的源IP和目的IP,并记录标签和标签个数</li>
<li>离线计算模块,遍历源IP没有应用信息的记录,作为部署IP从应用表中查找应用信息,将信息存储表中给下游
<h3>数据库设计</h3></li>
</ul>
<h4>1.应用资产 httpApiTableRelation</h4>
<pre><code>{
"httpApiUri":"httpapi:http://www.qzkj.com/getUse",
"dbServerUri": "mysql://192.168.0.108:3306",
"dbServerUriLabelList":["aaa","bbb"],
"dbUri": "db:mysql://192.168.0.108:3306/oa",
"dbUriLabelList":["aaa","bbb"],
"dbTableUri": "dbTable:mysql://192.168.0.108:3306/oa/user",
"dbTableUriLabelCount":1,
"dbTableUriLabelList":["aaa","bbb"]
}</code></pre>
<h3>整体性能</h3>
<ul>
<li>单核承载超-k qps</li>
<li>代码中加入监控组件,实时计算使用qz-stream组件</li>
</ul>
<h3>流程</h3>
<h4>1. 数据服务</h4>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=a7f66f293d37b2a38cd268b642afe584" alt="" /></p>
<h4>2. 库</h4>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=2ff82f8b8d1878d6c5d1a80ef4786877" alt="" /></p>
<h4>3. 表</h4>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=c7dbba212fea11c4e04a2415bd87a2ae" alt="" /></p>
<h4>离线计算</h4>
<ul>
<li>参考之前代码流程</li>
</ul>