TPRI-DMP平台介绍

TPRI-DMP平台介绍

  1. TPRI-DMP平台概述

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

  1. 平台架构

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

    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的组合为日志数据提供了分布式的实时搜集与分析的监控系统。

    1. 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接口,实现后台业务的高效开发。业务流低代码工具主要包括:组件库、业务流清单、画布等模块。

    1. 云中间件服务

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/275999.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python抽象基类之_subclasshook_方法

Python的鸭子特性(duck typing) Python中自定义的类只要实现了某种特殊的协议,就能赋予那种行为,举一个简单的例子: class A:def __len__(self):return 0 a A() print(len(a)) 如上所示,自己定义了一个类…

模型系列:增益模型Uplift Modeling原理和案例

模型系列:增益模型Uplift Modeling原理和案例 目录 1. 简介1. 第一步2. 指标3. 元学习器 3.1 S-学习器3.2 T-学习器3.3 T-学习器相关模型 简介 Uplift是一种用于用户级别的治疗增量效应估计的预测建模技术。每家公司都希望增加自己的利润,而其中一个…

C++11的lambda表达式

Lambda表达式是一种匿名函数,允许我们在不声明方法的情况下,直接定义函数。它是函数式编程的一种重要特性,常用于简化代码、优化程序结构和增强代码可读性。 lambda表达式的语法非常简单,具体定义如下: [ captures ]…

React学习计划-React16--React基础(七)redux使用与介绍

笔记gitee地址 一、redux是什么 redux是一个专门用于做状态管理的js库(不是react插件库)它可以用在react、angular、vue的项目中,但基本与react配合使用作用:集中式管理react应用中多个组件共享的状态 二、什么情况下需要使用r…

antv/x6_2.0学习使用(三、内置节点和自定义节点)

内置节点和自定义节点 一、节点渲染方式 X6 是基于 SVG 的渲染引擎,可以使用不同的 SVG 元素渲染节点和边,非常适合节点内容比较简单的场景。面对复杂的节点, SVG 中有一个特殊的 foreignObject 元素,在该元素中可以内嵌任何 XH…

数据结构与算法笔记

数据结构: 就是指一组数据的存储结构 算法: 就是操作数据的一组方法 数据结构和算法 两者关系 数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。 数据结构是静态的,它只是组织数据的一…

Windows窗口程序详解

今天来给大家详细剖析一下Windows的消息机制 一、什么是消息机制 首先消息机制是Windows上面进程之间通信的一种方式,除此之外还包括共享内存,管道,socket等等进程之间的通信方式,当然socket还可以实现远程进程之间的通信&#…

JS变量和函数提升

JS变量和函数提升 JS变量提升编译阶段执行阶段相同变量或函数 变量提升带来的问题变量容易不被察觉的遭覆盖本应销毁的变量未被销毁 如何解决变量提升带来的问题 JS变量提升 sayHi()console.log(myname)var myname yyfunction sayHi() {console.log(Hi) }// 执行结果: // Hi …

我的2023年,平淡中寻找乐趣

文章目录 两个满意我学会了自由泳。学习英语 一个较满意写博客 2024的期望 2023年,我有两个满意,一个较满意。 两个满意 我学会了自由泳。 开始练习自由泳是从2023年3月份,我并没有请教练,而是自己摸索。在抖音上看自由泳的视频…

【一分钟】ThinkPHP v6.0 (poc-yaml-thinkphp-v6-file-write)环境复现及poc解析

写在前面 一分钟表示是非常短的文章,只会做简单的描述。旨在用较短的时间获取有用的信息 环境下载 官方环境下载器:https://getcomposer.org/Composer-Setup.exe 下载文档时可以设置代理,不然下载不上,你懂的 下载成功 cmd cd…

JavaWeb——前端之HTMLCSS

学习视频链接:https://www.bilibili.com/video/BV1m84y1w7Tb/?spm_id_from333.999.0.0 一、Web开发 1. 概述 能通过浏览器访问的网站 2. Web网站的开发模式——主流是前后端分离 二、前端Web开发 1. 初识 前端编写的代码通过浏览器进行解析和渲染得到我们看到…

Java多线程常见的成员方法(线程优先级,守护线程,礼让/插入线程)

目录 1.多线程常见的成员方法2.优先级相关的方法3.守护线程(备胎线程)4.其他线程 1.多线程常见的成员方法 ①如果没有给线程设置名字,线程是有默认名字 的:Thread-X(X序号,从0开始) ②如果要给线程设置名字&#xff0c…

【SAM系列】Auto-Prompting SAM for Mobile Friendly 3D Medical Image Segmentation

论文链接:https://arxiv.org/pdf/2308.14936.pdf 核心: finetune SAM,为了不依赖外部prompt,通过将深层的特征经过一个编-解码器来得到prompt embedding;finetune完之后做蒸馏

苯酚,市场预计将以5%左右的复合年增长率

苯酚是一种重要的化合物,用于广泛的工业应用,包括塑料、树脂和合成纤维的生产。在建筑、汽车和电子行业不断增长的需求推动下,苯酚市场在过去十年中经历了稳步增长。全球苯酚市场分析: 在 2021-2026 年的预测期内,全球…

Java并发编程(三)

并发编程的三个特性 并发编程的三个重要特性是原子性、可见性和有序性。 原子性:原子性指的是一个操作是不可中断的,要么全部执行成功,要么全部不执行,是不可再分割的最小操作单位。保证原子性可以避免多个线程同时对共享数据进行…

《深入理解计算机系统》学习笔记 - 第七课 - 机器级别的程序三

Lecture 07 Machine Level Programming III Procedures 机器级别的程序三 文章目录 Lecture 07 Machine Level Programming III Procedures 机器级别的程序三概述程序机制 栈结构栈说明栈定义推入数据弹出数据 调用控制代码示例程序控制流程%rip 传递数据ABI 标准示例 管理局部…

WPF Button使用漂亮 控件模板ControlTemplate 按钮使用控制模板实例及源代码 设计一个具有圆角边框、鼠标悬停时颜色变化的按钮模板

续前两篇模板文章 模板介绍1 模板介绍2 WPF中的Button控件默认样式简洁,但可以通过设置模板来实现更丰富的视觉效果和交互体验。按钮模板主要包括背景、边框、内容(通常为文本或图像)等元素。通过自定义模板,我们可以改…

JVM篇:JVM的简介

JVM简介 JVM全称为Java Virtual Machine,翻译过来就是java虚拟机,Java程序(Java二进制字节码)的运行环境 JVM的优点: Java最大的一个优点是,一次编写,到处运行。之所以能够实现这个功能就是依…

Docker自建私人云盘系统

Docker自建私人云盘系统。 有个人云盘需求的人,主要需求有这几类: 文件同步、分享需要。 照片、视频同步需要,尤其是全家人都是用的同步。 影视观看需要(分为家庭内部、家庭外部) 搭建个人网站/博客 云端OFFICE需…

TiDB在WMS物流系统的应用与实践 (转)

业务背景 北京科捷物流有限公司于2003年在北京正式成立,是ISO质量管理体系认证企业、国家AAAAA级物流企业、海关AEO高级认证企业,注册资金1亿元,是中国领先的大数据科技公司——神州控股的全资子公司。科捷物流融合B2B和B2C的客户需求,基于遍布全国的物流网络与自主知识产…