2022.3 ~ 2022.6 最佳报告
发布时间: 2022-07-08   作者:范帝鑫
 

基于RESTful和微服务架构的EAST实验数据网关




本次报告主要介绍EAST实验数据网关在托卡马克数据服务中的初步应用。分布式场景下,EAST聚变实验数据存在多源及异构等特征,当前托克马克装置普遍使用统一数据访问。但UDA基于单体架构,所有代码在一个项目中,各模块紧密耦合。随着需求增加,应用变得臃肿,功能边界模糊,代码编辑存在隐患。除此之外,系统的扩展能力也受到限制,系统只能作为整体进行扩展,使用统一技术方案解决所有问题,引入新框架、新技术非常困难。同时,当前EASTUDA还存在RPC数据访问方式对跨编程语言的支持不足、大规模实验数据传输的安全防护等问题。




基于以上背景,本课题设计实现了基于RESTful和微服务架构的EAST实验数据网关,来解决EAST 托卡马克装置多源异构实验数据访问透明性问题。旨在屏蔽不同数据库的数据访问形式、数据编码格式,实现用户数据访问透明性。统一方案对权限认证、流量控制、数据缓存、负载均衡等问题进行管理。以微服务扩展方式,让已有的数据访问服务发挥作用,为未来服务预留空间。



具体主要解决三个问题:1.业务耦合扩展能力受限问题:将运行在分布式环境中的诊断数据、元数据、工程数据访问服务以协 议转换、协议代理方式接入网关,安装微服务探针,通过 skywalking 实现分布式链路追踪。2.数据传输服务性能及安全性:基于 https 对称加密与非对称加密结合方式,对传输数据进行加密; 通过第三方 ldap 服务器实现认证;基于 casbin 实现 rbac 访问控制模型;实现基于 token 的无状态认 证机制;采用多进程加协程提高服务器并发请求处理能力;基于 Nginx 实现负载均衡及计数限流 3. 数据访问方式扩展及流量监控预警:提供 RESTful 数据访问方案,解决 gRPC 数据访问跨操作系 统、跨编程语言支持不足问题;设置 exposer 捕获数据服务日志,通过时序数据库 prometheus 对日志 进行存储,基于 grafana 实现可视化的流量监控预警功能。