指挥平台系统 2021年07月 - 2022年03月
项目角色:项目 owner
项目背景:指挥平台是负责公司HW全流程跟踪、安全事件处理、HVV数据展示的管理控制平台,由登录模块、通知模块、活动管理、需求管理、资源评估及分配、攻防项目管理、安全事件管理、系统管理、HW大屏等模块构成。我主要负责登录模块、通知模块、排班管理、安全事件、异常流程、HW大屏相关开发。
相关技术细节:
(1)指挥平台项目
项目角色:项目 owner
项目背景:指挥平台是负责公司HW全流程跟踪、安全事件处理、HVV数据展示的管理控制平台,由登录模块、通知模块、活动管理、需求管理、资源评估及分配、攻防项目管理、安全事件管理、系统管理、HW大屏等模块构成。我主要负责登录模块、通知模块、排班管理、安全事件、异常流程、HW大屏相关开发。
1、基于 SpringBoot 框架搭建应用服务,基于 RESTful API 规范为前端提供 HTTP 接口
2、基于 MySQL 构建持久层,并基于 InnoDB 存储引擎设计数据表结构、索引
3、使用事务确保(云)安全事件、主(子)任务、异常流程等数据创建的原子性
4、基于Redis Stream构造通知模块,实现简化版消息队列,借鉴 RocketMQ 的重试和ACK机制,构建消息链路
5、基于 Redis 构建缓存层,缓存热点数据,降低 MySQL 的压力
6、基于Redis Stream、Redis Hash、Redis ZSet实现消息延时通知, 其中借鉴了Redis 的分布式锁思想
7、目前系统基于DDD思想进行重构,其中利用 Nacos 组件实现服务的注册与发现,利用Spring Cloud Gateway组件实现网关服务
8、应用策略模式、观察者模式等设计模式,增强代码的扩展性、可读性
相关技术栈:Java / SpringBoot / MySQL / InnoDB / RocketMQ / Redis / Nacos / Gateway
(2)离线数仓大数据服务
担任角色:项目 backup
项目背景: 对接部门CRM、ERP、PMIS、经营分析、腾云、倚天等业务系统数据,打通各个系统壁垒,接收和存储来自多个数据源的数据,完成数据合并、转换和建模,并最终通过可视化分析以BI、报表工具进行交付。同时对外部系统提供数据检索服务。
相关技术细节:
基于 Elasticsearch 建设异构存储,以支持大数据集下的多维度检索、模糊匹配
基于 DataX 组件实现异构数据源之间的数据同步、转换
关于离线数仓的相关技术细节不作罗列
相关技术栈:Hadoop / Clickhouse / Hive / MongoDB / DataX / Spark / Sqoop / Elasticsearch