大长案例 - 经典长连接可水平扩容高可用架构

文章目录

  • 需求
  • 设计

在这里插入图片描述

需求

支撑百万充电桩充电业务的长连接可水平扩容高可用架构需求如下:

  1. 可扩展性:系统应该具备高度可扩展性,能够轻松应对新增充电桩的需求。任何时候都应该容易添加更多的充电桩,而不会影响整体性能。

  2. 负载均衡:需要一个负载均衡层,确保各个充电桩之间的负载分布均匀。这可以通过负载均衡器或类似技术来实现。

  3. 高可用性:系统必须具备高可用性,以确保用户随时都能够使用充电服务。这包括冗余系统、故障转移、容错机制等。

  4. 数据存储:需要一个可靠的数据存储系统,用于记录充电桩的状态、充电记录和其他关键信息。这可以是分布式数据库或对象存储系统。

  5. 实时监控:系统需要实时监控充电桩的状态,以便快速检测并响应问题。监控可以包括硬件状态、连接状态和充电流程状态。

  6. 安全性:数据安全至关重要,特别是与用户付款信息和充电记录相关的数据。必须采取适当的安全措施,包括数据加密、访问控制和认证。

  7. 容错和恢复:系统应该能够自动检测并处理故障,包括硬件故障、网络故障和应用程序故障。应该有自动恢复机制,确保系统尽快恢复正常运行。

  8. 数据备份:定期备份系统数据,以防止数据丢失或损坏。备份数据应该存储在不同的地理位置,以应对灾难性故障。

  9. 性能优化:系统应该经过性能优化,以提供低延迟和高吞吐量。这可以包括缓存、负载测试和代码优化。

  10. 监控和报警:建立全面的监控系统,以便及时发现问题并采取措施。报警系统应该通知相关人员或自动触发故障处理流程。

  11. 自动化运维:自动化运维流程,包括部署、配置管理、日志管理和升级。这可以减少人工操作和减少人为错误。

  12. 合规性:确保系统符合相关法规和标准,特别是涉及用户隐私和支付数据的法规。

  13. 容量规划:预测未来充电桩的增长趋势,进行容量规划,以确保系统能够满足未来的需求。

  14. 网络安全:采取适当的网络安全措施,以防止网络攻击和数据泄漏。

  15. 灾难恢复:建立灾难恢复计划,以应对自然灾害、供电故障和其他紧急情况。

这些需求构成了支撑百万充电桩充电业务的长连接可水平扩容高可用架构的基本要求。根据具体情况,可能需要选择合适的技术栈和架构模式来实现这些需求。


设计

在这里插入图片描述

  • 七层应用网关的作用是为了获取后面真正提供服务的接入网关的入口地址
  • 设备获取到真实地址后接入到接入网关
  • 接入网关可以看看做是一个spring boot的应用,需要注册到注册中心
  • 接入网关负责内外隔离和连接路由
  • 应用服务提供真实的业务请求 (也需要注册到注册中心)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SpringSecurity】快速入门—通俗易懂

目录 1.导入依赖 2.继承WebSecurityConfigurerAdapter 3.实现UserDetailsService 4.记住我 5.用户注销 6.CSRF理解 7.注解功能 7.1Secured 7.2PreAuthorized 7.3PostAuthorized 7.4PostFilter 7.5ZPreFilter 8.原理解析 1.导入依赖 首先,在pom.xml文…

matplotlib入门-基金走势图

一、matplotlib简介 matplotlib是一个Python 2D绘图库,开发者仅需要几行代码就可以生成曲线图、柱状图、散点图甚至动画。需要另外安装,一条命令搞定。 pip install matplotlib 它的绘图接口在matplotlib.pyplot模块中,pyplot提供和MATLIB…

Mac终端学习

命令1:ifconfig 作用:列出本机所有的网络设备以及其上面的配置,主要指的是ip地址和mac地址 其他用法:sudo ifconfig en4 add 10.10.10.12 netmask 255.255.255.0 作用:给en4加入别的网段 其他用法:sudo i…

让你笑到不行的笑话短视频接口,快来试试!

11在当今这个快节奏的社会中,笑话成为了许多人调节情绪的有效方法。如今,短视频平台已经成为了最受欢迎的娱乐方式之一,因此,将笑话和短视频结合起来,成为了一种很有趣的方式来带给我们欢乐。今天我们要介绍的是挖数据…

JMeter的使用——傻瓜式学习【下】

目录 前言 1、自动录制脚本 1.1、原理 1.2、JMeter脚本录制 2、JMeter直连数据库 2.1、直连数据库的作用 2.2、JMeter直连数据库的步骤 案例: 3、JMeter的逻辑控制器 3.1、if控制器 案例: 3.2、循环控制器 案例: 3.3、ForEach控…

NB-IOT的粮库挡粮门异动监测装置

一种基于NBIOT的粮库挡粮门异动监测装置,包括若干个NBIOT开门监测装置,物联网后台管理系统,NBIOT低功耗广域网络和用户访问终端;各个NBIOT开门监测装置通过NBIOT低功耗广域网络与物联网后台管理系统连接,物联网后台管理系统与用户访问终端连接.NBIOT开门监测装置能够对粮库挡粮…

从瀑布模式到水母模式:ChatGPT如何赋能软件研发全流程

文章目录 前言内容简介作者简介专家推荐读者对象直播预告 前言 计算机技术的发展和互联网的普及,使信息处理和传输变得更加高效,极大地改变了金融、商业、教育、娱乐等领域的运作方式。数据分析、人工智能和云计算等新兴技术,也在不断地影响和…

Gcov 查看代码覆盖率

GCOV 工具简介 gcov是一个测试代码覆盖率的工具。 它是 gcc 自带的查看代码覆盖率的工具,无需额外安装,在嵌入式的 arm-eabi-none-gcc 中同样可以使用(需要重写部分系统函数)。 使用效果如下图所示: 程序运行完成后…

Ubuntu自建git服务器

Ubuntu 安装 gitlab-ce sudo apt-get update sudo apt-get install gitlab-ce 安装成功 sudo apt-get install gitlab-ce 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列【新】软件包将被安装:gitlab-ce 升…

GitHub项目监控

目录 github开放平台接口限流 监控某个仓库的更新状态 对于常用Github的用户来说,经常有一些自动化的需求。比如监控某些项目的更新情况并实时拉取,比如监控github全网上传的代码是否携带了公司的APIKEY,SECRETKEY等… github开放平台 gith…

26 行为型模式-命令模式

1 命令模式介绍 2 命令模式原理 3 命令模式实现 模拟酒店后厨的出餐流程,来对命令模式进行一个演示,命令模式角色的角色与案例中角色的对应关系如下: 服务员: 即调用者角色,由她来发起命令. 厨师: 接收者,真正执行命令的对象. 订单: 命令中包含订单 /*** 订单类**/ public cl…

2023年Zotero最新同步教程-使用TeraCloud的25G免费空间实时跨设备同步文献

文章目录 1. 前言2.1. 注册账号2.1.1. 填写注册信息2.1.2. 创建账号成功2.1.3. 注意2.2. 扩容空间2.3. 打开WebDAV 3. Zotero配置WebDAV同步3.1. 设置网址3.2. 验证服务器3.3. 文件同步成功 4. 结语 1. 前言 Zotero免费版的存储空间是300m,一个图文PDF动辄两三M&am…

智慧灌溉平台

1.知识百科 智慧灌溉是运用物联网、云计算、大数据等新一代信息技术,结合农业生产的实际需求,通过传感器采集土壤温湿度、光照强度等信息,利用无线传感网络传输到中央控制系统进行智能控制。智慧灌溉系统由传感器(水位传感器&…

YOLOv5优化:独家创新(SC_C_Detect)检测头结构创新,实现涨点 | 检测头新颖创新系列

💡💡💡本文独家改进:独家创新(SC_C_Detect)检测头结构创新,适合科研创新度十足,强烈推荐 SC_C_Detect | 亲测在多个数据集能够实现大幅涨点 目录 1. SC_C_Detect介绍 2. SC_C_Detect加入YOLOv5 2.1 新建models/head_improve.py

基础课15——语音标注

语音数据标注是对语音数据进行处理和分析的过程,目的是让人工智能系统能够理解和识别语音中的信息。这个过程包括了对语音信号的预处理、特征提取、标注等步骤。 在语音数据标注中,标注员需要对语音数据进行分类、切分、转写等操作,让人工智…

京东平台数据分析:2023年9月京东扫地机器人行业品牌销售排行榜

鲸参谋监测的京东平台9月份扫地机器人市场销售数据已出炉! 根据鲸参谋平台的数据显示,9月份,京东平台扫地机器人的销量近14万,环比增长约2%,同比降低约4%;销售额为2.9亿,环比降低约4%&#xff0…

GORM:在Go中轻松管理数据库

GORM综合介绍 - Go对象关系映射库 在现代软件开发中,高效的数据库管理对于构建强大的应用程序至关重要。GORM是Go开发人员寻求与数据库进行交互的简化方式的宝贵工具。GORM是Go对象关系映射的缩写,它为Go的面向对象世界与数据库的关系世界之间提供了桥梁…

获取Webshell方法

CMS系统指的是内容管理系统。已经有别人开发好了整个网站的前后端,使用者只需要部署cms,然后通过后台添加数据,修改图片等工作,就能搭建好一个的WEB系统。 CMS获取Webshell方法 WordPress后台拿Webshell phpcms拿Webshell 非CMS…

FedAT:异步更新联邦学习方法

文章链接:FedAT: A Communication-Efficient Federated Learning Method with Asynchronous Tiers under Non-IID Data 发表会议: SC’21 (International Conference for High Performance Computing, Networking, Storage, and Analysis) 高性能计算,体…

【Cocos新手进阶】使用cocos 的预制体创建动态的滚动框组件。

本篇文章主要讲解,使用cocos 游戏引擎制作动态生成的滚动框实例教程。 日期:2023年11月1日 作者:任聪聪 引擎版本:2.4.3 至 2.4.11 关于预制体的说明和概念 cocos中的预制体的作用是能够让你使用数据的形式进行控制界面的变化&am…