Skip to content

2022-4-23 Saturday

消息中心模块,代码自动生成,延时队列功能验证;

2022-4-18 Monday

  • 消息中心模块
  • 无人机项目梳理,整体到细节,需求到代码 DDD
  • 无人机 CodeReview,review 流程,规范
  • 扩充提升技术栈能力栈?Kafka K8s Flink 工作流 等等

干了啥?

上午看看 erp 的代码,优化不动,需要了解业务逻辑才能施展优化,逻辑相对比较复杂;虽然可以拆解,但是会很费时间。为什么没有微服务拆分,文档不全。

估计优化的事情要暂时要与我无关了。

开始看消息模块相关的东西:

术语明确,消息队列 MQ 中的“消息”,宽泛的消息;业务消息,站内信,短信,邮件消息,通知 Notice;

  1. 消息管理模块的业务功能说明?
  2. 消息中心模块和其它业务模块的交互方式,为什么既有 MQ,又有 jar 包依赖?
  3. 举例一条消息的生命周期,何时产生?由谁产生?何时发送?发送方式?
  4. 工单or计划模块延时消息,自产自销如何?
  5. 数据库设计?

rabbitMQ 延时队列的实现;已找到一篇技术参考文档 https://www.cnblogs.com/ludangxin/p/15302794.html

数字化监管的原型设计;

蓝湖:http://10.0.0.150/url/tkn39

密码:hGFW

模块设计的 功能边界,集成方式 or 交互方式

提供什么能力,依赖哪些服务或者组件?

  • 事件监听,多个 还是 统一一个

接口设计:

  • 即时单发消息
  • 延时单发消息
  • 即时群发消息
  • 延时群发消息

详细功能拆分,工时评估

  • 熟悉 rabbitMQ

  • 事件监听器

  • 延时队列

  • 消息分发

  • 短信

  • DB

  • 邮件

  • 消息推送

依赖的模块在哪里?如何集成进来?

设计文档,详细设计,开发功能代码,单元测试,对接文档;

五类消息通知

【站长响应计划超时】、关联 计划

【工单处理超时】、关联工单

【日报填报超时】、关联日报

【月报填报超时】、关联月报

【电量损失超限】 关联

2022-4-19 Tuesday

无人机项目:算法去重输出结果入库的逻辑调整、第三方报告不出的问题排查(物理电站ID = null)

消息中心:熟悉 rabbitMQ,消息分发策略

当下的难题,如何设计?

  • 事件消息监听器,是统一的一个,还是多个?如何设计?(根据系统标识区分/事件消息类型)
  • 代码在哪里写?重新创建一个项目 or SVN 路径?或者 copy 一个基础项目;
  • 诸如日报月报提醒这种周期性事件如何触发?由谁触发?通过定时任务。
  • 消息内容在哪里进行配置
  • rabbitMQ 本地开发环境,控制台地址

(PDCA)提交工单 ,发送 event -> MQ

消息中心监听特定的 Queue ,根据不同的事件类型进行相应的处理,

ex. 延迟消息(包含 event_id,delay_time) -> MQ

MQ 延时消息监听,根据具体的事件信息判断是否触发消息推送 ,如果发送(直接多设备发送,或通过MQ异步发送 msg_id -> MQ)

接口,分包;仿照 system activiti mq 进行设计;

msg, api

  • 消息中心的架构设计,代码分包设计,共同 Bean 的设计(泛型与继承)
  • 熟悉 rabbitMQ ,exchange 分发模式,faout
  • rabbitMQ 延时队列的实现,k8s 如何启用
  • 详细设计文档

@Data public class BaseEventMsg implements Serializable { // 系统标识 private String systemCode; // 事件类型 private String eventType; // 租户 private Long tenId; // 业务主键 private String businessKey; ...

}

https://github.com/rabbitmq/rabbitmq-delayed-message-exchange

2022-4-20 Wednesday

无人机智能巡检项目:协助排查算法故障去重问题;

消息中心:

  • Jenkins 部署 script
  • Apollo 环境配置
  • faout exchange demo
  • maven jar 包管理
  • 监听器 demo 实现,基于 solareye 封装的 starter / SpringBoot MQ

2022-4-21 Thursday

计划:

  • 消息中心:封装全部的业务接口,以及相应的 MQ sender 实现
  • 消息中心:消费者 监听器 listener 的实现,调通
  • 消息中心:输出对接文档,如何引入依赖 jar 包,如何管理版本,依赖配置文件 apollo#namespace,demo 使用
  • 消息中心:基于 feign 的同步调用方式
  • 消息中心:延迟队列的部署与开启 K8s

2022-4-22 Friday

日志:

  • 消息中心:对接文档完善
  • 无人机:组件标注算法调试,入库经纬度字段修改
  • 依赖 jar 包的问题
  • xxl-job 执行器启动问题