Open glmapper opened 5 years ago
@chpengzh
I'll take this part.
目前已经完成模块重组部分的功能, 修改后结果为:
|-core(facade定义)
|-core-impl(facade主要实现)
|-spring-actuator-dimension(基于spring-actuator的数据埋点)
|-zookeeper-registry(应用实例会话读写)
|-extension-impl(拓展实现, 未来支持拓展不同的实现)
|-mysql-store
|-sofa-boot-projects(SpringBoot装配, 未来会拓展不同的starter-data-xxx)
|-sofa-boot
|-sofa-boot-starter
上报(写库)策略目前使用的是定时器方式,考虑到错峰,使用自然分布的随机值进行周期性上报;
默认启动写入延时期望为 30s, 上报周期为 60s, 由Env
参数控制
现在比较困惑的是上报数据信息该采集哪些内容并如何高效地存取,希望给点意见。
现在采集的信息模型大致是:
field | type | desc |
---|---|---|
id | big int primary key auto inc | 自增主键 |
timestamp | big int | 时间戳 |
dimension_name | string | 数据指标名称(如: thread_summary, memory 等) |
instance_id | string | 应用唯一标识(service_name + ip + port) |
dimension_value | string | 数据指标序列化值 |
client -> https://github.com/chpengzh/sofa-dashboard-client/tree/feature_multi_modules demo -> https://github.com/chpengzh/sofa-dashboard-client-demo
对应的dashboard代码这两天会尝试补上
数据上报 reporter 的方式目前希望是报给 redis,当然可以扩展到 ES / DB 或者 内存。客户端提供以 SPI 的方式扩展上报机制
mysql-store
这个 mysql store 的作用的是什么
store就是一个扩展存储实现
只是之前不知道默认应该拓展哪个平台的实现就尝试随便写了一个,我改成redis的实现吧。
store就是一个扩展存储实现
这个应该不用吧,出于什么考虑呢?可以给个具体的场景描述
这个特性的demo现在完成了,涉及到3个项目:
https://github.com/chpengzh/sofa-dashboard/tree/optimize-application (branch optimize-application) https://github.com/chpengzh/sofa-dashboard-client-demo https://github.com/chpengzh/sofa-dashboard-client (branch master)
这个特性的demo现在完成了,涉及到3个项目:
https://github.com/chpengzh/sofa-dashboard/tree/optimize-application (branch optimize-application) https://github.com/chpengzh/sofa-dashboard-client-demo https://github.com/chpengzh/sofa-dashboard-client (branch master)
- 本地需要启动redis服务,端口 6379
- client未上报时,dashboard数据为空,这个时候前端还未处理判空异常
- redis现在还未处理数据超时配置
嗯,跑了一下,功能是OK 的,我这边尽快吧 UI 那块搞定,这部分等 UI 弄好之后再合,应用面板展示有比较大的改动
这条分支修改配置了一个swagger,如果前端同学要合作,可以在启动后访问 http://localhost:8099/swagger-ui.html 查看当前实现的接口文档
@glmapper 能否修改一下README,与改造后保持一致,并且上传包到maven仓库,避免大家走弯路,感谢。
随着 sofa-dashboard-client 的功能点越来越来,也希望通过以更加标准化的方式提供出去(starter 的方式),sofa-dashboard-client 将进行一定的功能模块拆分: