TPRI-DMP平台介绍

TPRI-DMP平台介绍

1 TPRI-DMP平台概述

TPRI-DMP为华能集团西安热工院自主产权的工业云PaaS平台,已经过13年的发展和迭代,其具备大规模能源电力行业生产应用软件开发和运行能力。提供TPRI-DMP平台主数据管理、业务系统开发与运行、应用资源管理与运维监控等功能,具备应用弹性伸缩、承载大规模并发、持续开发与集成的能力;制定统一的平台开发规范和流程,实现业务系统代码规范管理,实现集成、测试、部署与运维的标准化;大数据中心作为TPRI-DMP平台的数据支撑,由公共业务数据库(主数据)、各业务系统数据库、数据采集平台、数据仓库、自定义报表工具、BI分析工具、深度分析工具等组成,为云平台提供高可靠、高性能、开放共享的数据服务。

2 平台架构

TPRI-DMP平台在服务器虚拟化设施基础上,采用当前主流技术,通过Kubernetes容器集群管理服务、中间件服务、DevOps工具、轻量级容器管理工具、数据库服务、应用基础服务以及大数据中心,建立起一整套包含持续集成、持续交付和持续部署的、满足能源企业应用系统开发、部署、运行及维护的一整套PaaS平台。

2.1 容器平台

TPRI-DMP平台的容器平台包括K8S集群管理、容器面板、集群监控、日志收集和查看、容器镜像、容器编排等组件。通过容器云技术组件实现平台容器上规模后的统一编排、自动调度和实时监控,保证整个服务集群的可靠运行。

TPRI-DMP平台容器平台的核心是基于K8S开源的容器编排系统, 通过Rancher管理K8S集群中的各个资源对象。可以实现服务发现和负载均衡、存储编排、弹性伸缩、自动部署和回滚、自动完成装箱计算、自我修复、密钥与配置管理。TPRI-DMP平台运维监控主要包含状态监控、日志管理两部分。状态监控负责收集主机、K8S集群的资源使用状态,并通过图表展示结果。状态监控主要由两部分组成,分别是收集状态的Prometheus,展示状态结果的Grafana。日志管理采用EFK,EFK由ElasticSearch、Fluentd和Kiabana三个工具组成。其中Elasticsearch是一款分布式搜索引擎,能够用于日志的检索,Fluentd是一个实时开源的数据收集器,而Kibana 是一款能够为Elasticsearch 提供分析和可视化的 Web 平台,EFK的组合为日志数据提供了分布式的实时搜集与分析的监控系统。

2.2 DevOps

平台提供"开发运维一体化"DevOps的运维方式,实现研发、测试、运维的一体化。DevOps重视"软件开发人员(Dev)"和"IT运维技术人员(Ops)"之间沟通合作的文化、运动或惯例。透过自动化"软件交付"和"架构变更"的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

TPRI-DMP平台DevOps主要功能是管理开发人员提交或者合并的代码,触发构建工具实现代码的自动构建、自动打包、自动部署一整套流程。开发人员通过Git提交代码至Gitlab,触发Jenkins自动开始代码构建,在构建的过程中需要的依赖包从私有源仓库Nexus拉取,构建完成后打包镜像推送至Harbor,拉取镜像和配置文件部署应用至K8S集群。在这个过程中根据不同分支预设的不同脚本,推送的位置也不同,执行的方式也不同,部署的环境也不同,以实现部署的灵活性和自动化。

TPRI-DMP的DevOps还包括前、后端低代码工具,均为西安热工研究院自主研发,拥有完全知识产权。

TPRI-DMP前端设计器

TPRI-DMP前端设计器基于Vue、Element UI进行开发,实现应用功能前端界面可视化开发,与后端TPRI-DMP平台通过RESTful接口方式进行数据交互。

TPRI-DMP后端设计器

平台后端业务流低代码工具是用来开发后端API的工具。其采用所见即所得的编辑方式,无需编写代码,只需要通过拖拽组件和线段连接,即可开发出标准的后端API接口,实现后台业务的高效开发。业务流低代码工具主要包括:组件库、业务流清单、画布等模块。

2.3 云中间件服务

TPRI-DMP平台提供各类云中间件服务,包括消息队列、分布式缓存、微服务开发治理框架、微服务开发集成平台、通知消息和基础数据服务,为云原生应用的开发提供通用和高效的运行机制。

为了确保应用系统之间的消息通讯以及异步调用,平台提供统一的消息中间件服务,中间件采用ActiveMQ,为了确保消息服务的高可用性,采用分布式集群部署模式。

平台提供统一的基于Redis的分布式缓存服务,运行于平台上的所有应用都可以通过该服务进行数据的缓存。为了确保缓存服务的高可用性以及效率问题,Redis采用集群模式进行部署。

微服务管理框架通过Istio来实现,Istio由控制平面和Envoy的数据平面共同构成了一个服务网格实现。其中,控制平面Pilot负责管理和配置代理来路由流量,并配置Mixer以实施策略和收集遥测数据;数据平面由一组以Sidecar方式部署的智能代理(Envoy)组成,这些代理可以调节和控制微服务及Mixer之间所有的网络通信。

相关推荐
RuoyiOffice1 天前
KubeSphere 容器云实践:从管理 K8s 到建设企业 PaaS,还需要哪些能力
spring boot·kubernetes·kubesphere·jenkins·paas·微服务部署·ruoyi office
wdyan2974 天前
带着小白学习-微服务-5 实战:配置中心-数据库连接
数据库·学习·微服务
Soari5 天前
CaaS架构:让整个工业网络成为一台虚拟 PLC
plc·tsn·工业互联网·网内计算·控制即服务·计算通信联合调度
胡写代码5 天前
把数据库连接搬进配置中心,服务起不来:spring.config.import 的 4 个必填项
spring cloud·微服务
利威尔xu8 天前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
利威尔xu8 天前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
骑着蜗牛撵大象3278 天前
Spring Boot 4.1 + Spring AI 2.0:RAG 供文、图谱供关系、MCP 供工具的 Java Agent 平台
java·spring boot·spring·微服务·知识图谱·rag·mcp
code_slave(码畜)8 天前
微服务架构落地:慢 SQL 治理与连接池调优 —— 守住数据库的最后一道防线
数据库·spring boot·sql·spring cloud·微服务·架构
微三云 - 廖会灵 (私域系统开发)10 天前
企业级 SaaS 系统架构设计:单体、微服务还是模块化单体?技术选型实战
微服务·架构·系统架构
shuair10 天前
Spring Cloud 微服务脚手架:Simple Cloud 系统架构设计
spring cloud·微服务·系统架构