超低运维成本,构建自有高性能商业充电运营平台

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 奥升新能源技术服务平台,致力于高性能高费效比技术框架研发与实施,致力于为客户提供性价比最优的技术解决方案和运维服务。

一 业务说明

1.1 业务场景与环境:

一万桩在线;一千桩并发充电业务;奥升高性能试验集群,可实现海量TCP充电桩真实通信仿真环境。


1.2 资源:

服务名称 配置 说明 成本
基础设施服务(设备通信与业务交换服务) 阿里云ECS
2CPU 4G
本演示场景使用1台部署 541.44元/年
用户运营商服务(业务交换与业务平台服务) 阿里云ECS
2CPU 4G
本演示场景使用1台部署 541.44元/年
小程序服务(用户服务) 阿里云ECS
2CPU 4G
本演示场景使用1台部署 541.44元/年
数据库 MySQL 阿里云 RDS Mysql8.0
2CPU 4G
最大IOPS 4800
与ECS同使用区,内网连接 227.99元/年
(阿里云特惠)
缓存服务 Redis 阿里云 Redis倚天版
1GB 高可用 2节点
QPS 100K 最大连接数 10K
与ECS同使用区,内网连接 375.12/年
消息队列服务 RabbitMQ 阿里云ECS
2CPU 4G
本演示场景使用1台部署 541.44元/年
业务脚手架 ruoyi-* / xxl-job 阿里云ECS
2CPU 8G
本演示场景使用1台部署 761.76元/年
Nacos服务 阿里云ECS
2CPU 4G
本演示场景使用1台部署 541.44元/年
合计费用 4072.07元/年


1.3 并发业务数量:

业务名称 业务介绍 一般频度(10000标准) 消费业务复杂度
桩心跳上送业务 每台充电桩,10s发送一次心跳 1000/s
桩实时数据上送业务 每台充电桩,闲时60s发送一次数据(通常>=5分钟),充电时15s发送一次数据 空闲实时数据:150/s
充电实时数据:100/s
空闲(低)
充电(高)
桩订单结算上送业务 充电完成时上送 低于10/s 极高
桩充电价格业务 桩启机和价格变动时交互 集中启机(大于1000/s)
本项目桩采用集中上线方式进行高压测试。
业务交换-桩状态改变推送 充电桩状态改变时,向各运营商平台推送状态数据 集中启机、集中插枪
高峰期(大于1000/s)
业务交换-充电状态数据推送 向运营平台推送充电状态数据 100/s
业务交换-订单结算推送 向运营平台推送订单结算数据 低于10/s 极高


二 演示过程

2.1 一万台充电桩并发上电

持续时间 60s-100s

image.png

一万台快充桩开始上线,上线速度约为50-150台/s;
上线后进行充电桩价格校验,并下发充电价格数据至桩侧

image.png

充电桩开机上线中期,数据量逐渐接近心跳1000/s(充电桩10s发送一次心跳);
充电价格下发和其他业务未堆积;

image.png

一万台设备完成开机,无新上线桩(无价格校验和下发);
心跳数据稳定在1000/s,桩状态实时数据稳定在150/s;

2.2 一万台充电桩并发插枪

持续时间20s-26s

image.png

一万台充电桩同时插枪,枪状态数据会立刻发送至服务端,产生消息高峰;(状态数据从150/s迅速上升至400+/s);
由于需要通过互联互通(HTTP)推送至各运营平台,状态推送任务开始小规模堆积;

image.png

一万台插枪进行10s左右,消息处理到达最高峰,受消息推送业务影响,心跳数据存在轻微堆积。

image.png

一万台插枪完成2s左右,消息迅速恢复至正常水平。(当然,现实情况下不存在所有充电枪同时插枪的可能 )

2.3 一千台充电桩并发下单

随机抽取一千台桩进行并发充电(启动速度约为10+单/s,约60s完成启动)

image.png

一千台充电桩逐步启动,心跳数据短暂堆积(由于心跳数据优先级低,因此主要是闲时处理逻辑)

image.png

启动到352个订单时,消息处理逐渐平滑

image.png

启动到750个订单时,充电状态推送和桩实时状态数量逐渐增长,用户运营端消费稳定

image.png

启动到979个订单

image.png

一千订单完成启动,整个业务环境运行稳定,实时数据(realtime)吞吐量200+/s,符合业务规划预期;
用户业务平台侧消费正常,正常向用户展现数据情况。

2.4 充电过程保持(含运营商推送)

image.png

订单持续7分钟,业务队列处理稳定。

2.5 订单陆续结算

image.png

订单结算因为充电进度不完全一致,虽每单均预设10元,单并不会同时结束,因此没有产生数据高峰。


三 消息队列介绍

3.1 基础设施服务层

heartBeat: 桩心跳消费(队列)
realtimeData: 桩实时数据消费(队列)
priceSender: 桩价格下发(队列)
stationPriceSender: 充电基准价格推送至用户运营商(队列)
connectorStatusNotify: 充电桩状态推送至用户运营商(队列)
chargingStatusNotify:  充电订单状态数据推送至用户运营商(队列)
chargeOrderData: 充电结算订单推送至用户运营商(队列)

3.2 用户运营服务商业务层

upStationStatus: 消费充电桩状态推送
upEquipChargeStatus: 消费充电订单状态数据
upChargeOrderInfo: 消费充电结算订单

四 高性能系统架构说明

4.1 MySQL还是InfluxDB?

本文主要以最优系统成本为目标,在满足可用的情况下,MySQL表现足以支撑规划业务量,InfluxDB在运营统计分析和数据吞吐、压缩上有明显优势,但其仅单服务版免费,高可用(多服务)版费用高出MySQL较多,因此作者会在其他的文章里再讨论InfluxDB的方案。

其实重运营类的公司,只要合理分表,MySQL已经可以完全满足业务需要,不要被忽悠了哦,浪费那么多成本。

如果以数据为核心的公司,作者还是推荐InfluxDB方案的,不过MySQL也的确够用!

4.2 框架设计

奥升充电平台采用微服务体系,在合理规划下具备无限拓展的可能,2核4G“基础设施服务器”即可带动一万台充电桩的日常业务量,高可用版本也仅需要增加1-2个“基础设施服务器”节点。

即 50万根充电桩约需要60-80台2核4G“基础设施服务器”即可保障业务正常工作,其余服务根据吞吐量自行换算。

image.png

五 结束语

奥升新能源技术服务平台,致力于高性能高费效比技术框架研发与实施,致力于为客户提供性价比最优的技术解决方案和运维服务。

奥升开源仓库(非商业版)

充电平台微服务源码

https://github.com/NaTieJun/orise-charge-cloud

充电小程序源码

https://github.com/NaTieJun/orise-admin

充电管理后台源码

https://github.com/NaTieJun/orise-mp

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
55 4
|
1天前
|
人工智能 运维 监控
构建高效运维体系:理论与实践的深度融合####
本文旨在探讨高效IT运维体系的构建策略,通过理论框架与实际案例并重的方式,深入剖析了现代企业面临的运维挑战。文章开篇概述了当前运维领域的新趋势,包括自动化、智能化及DevOps文化的兴起,随后详细阐述了如何将这些先进理念融入日常运维管理中,形成一套既灵活又稳定的运维机制。特别地,文中强调了数据驱动决策的重要性,以及在快速迭代的技术环境中保持持续学习与适应的必要性。最终,通过对比分析几个典型企业的运维转型实例,提炼出可复制的成功模式,为读者提供具有实操性的指导建议。 ####
|
4天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
23 1
|
13天前
|
运维 监控 jenkins
运维自动化实战:利用Jenkins构建高效CI/CD流程
【10月更文挑战第18天】运维自动化实战:利用Jenkins构建高效CI/CD流程
|
19天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
51 3
|
21天前
|
机器学习/深度学习 敏捷开发 运维
构建高效运维体系
本文旨在探讨如何通过技术创新和管理优化,构建一个高效、稳定且可持续发展的运维体系。我们将从自动化工具的应用、监控告警机制的完善、持续集成与持续部署(CI/CD)的实践、以及团队协作与沟通的强化等多个维度,深入剖析运维体系的构建过程。同时,文章将结合实际案例,分析运维过程中可能遇到的挑战及应对策略,为运维人员提供实用的指导和建议。
|
22天前
|
运维 监控 测试技术
构建高效运维体系:从监控到自动化的实践之路
【10月更文挑战第9天】 在当今信息技术飞速发展的时代,运维作为保障系统稳定性与效率的关键角色,正面临前所未有的挑战。本文将探讨如何通过构建一个高效的运维体系来应对这些挑战,包括监控系统的搭建、自动化工具的应用以及故障应急处理机制的制定。我们将结合具体案例,分析这些措施如何帮助提升系统的可靠性和运维团队的工作效率。
37 1
|
27天前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全面指南在当今数字化时代,运维作为保障系统稳定性和效率的重要环节,其重要性不言而喻。本文将深入探讨如何构建一个高效的运维体系,从监控系统的搭建到自动化运维的实施,旨在为读者提供一套完整的解决方案。
本文详细介绍了高效运维体系的构建过程,包括监控系统的选择与部署、日志分析的方法、性能优化的策略以及自动化运维工具的应用。通过对这些关键环节的深入剖析,帮助运维人员提升系统的可靠性和响应速度,降低人工干预成本,实现业务的快速发展和稳定运行。
|
1月前
|
运维 jenkins 持续交付
自动化运维之路:构建高效CI/CD流水线
在软件开发的快节奏中,持续集成和持续部署(CI/CD)流水线是提升效率、保障质量的关键。本文将引导你理解CI/CD流水线的重要性,并手把手教你如何搭建一个高效的自动化运维系统。通过实际代码示例,我们将一步步实现从代码提交到自动测试、部署的全流程自动化,确保软件交付过程既快速又可靠。
|
1月前
|
机器学习/深度学习 运维 监控
构建高效运维体系:从自动化到智能化的演进之路
在当今数字化时代,运维工作的重要性日益凸显。随着企业业务的不断扩展和技术的日新月异,传统的运维方式已难以满足现代企业的需求。因此,构建一个高效、智能的运维体系成为了企业发展的关键。本文将探讨如何从自动化逐步演进到智能化,以实现运维工作的高效化和智能化。