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

文章目录

  • 需求
  • 设计

在这里插入图片描述

需求

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


设计

在这里插入图片描述

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

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

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

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

相关文章

网课搜题小程序源码/小猿题库多接口微信小程序源码+自带流量主

网课搜题小程序源码,多接口小猿题库等综合网课搜题微信小程序源码带流量主,网课搜题小程序,可以开通流量主赚钱。 搭建教程 1、微信公众平台注册自己的小程序 2、下载微信开发者工具和小程序的源码 3、上传代码到自己的小程序 下载地址&…

kubesphere部署尚医通

项目架构 yygh-parent |---common //通用模块 |---hospital-manage //医院后台 [9999] |---model //数据模型 |---server-gateway //网关 [80] |---service …

Reading:Deep dive into the OnPush change detection strategy in Angular

原文连接:IndepthApp 今天深入阅读并总结Angualr中onPush更新策略。 1. 两种策略 & whats Lview? Angular 实现了两种策略来控制各个组件级别的更改检测行为。这些策略定义为Default和OnPush: 被定义为枚举: export enum…

Microsoft SQL Server 缓冲区错误漏洞(CVE-2018-8273)解决方法

前言: 在一次漏洞扫描中,扫描出紧急漏洞Microsoft SQL Server 缓冲区错误漏洞(CVE-2018-8273) 根据修复建议找补丁。 一、漏洞详情 二、寻找补丁 根据漏洞修复建议去下载补丁 目前厂商已发布升级补丁以修复漏洞,补丁获取链接:h…

邮件钓鱼分析

三大协议 SPF Sender Policy Framework 的缩写,一种以IP地址认证电子邮件发件人身份的技术。 注:收信人怀疑币是假的,查看这个送信包裹里面记录的发出地是不是央行,如果是黑市有可能是黑钱 DKIM 加密签名和域名关联。 注&am…

图像二值化阈值调整——OTSU算法(大津法/最大类间方差法)

大津算法(OTSU算法)是一种常用的图像二值化方法,用于将灰度图像转化为二值图像。该算法由日本学者大津展之于1979年提出,因此得名。 大津算法的核心思想是通过寻找一个阈值,将图像的像素分为两个类别:前景…

springboot打包时依赖jar和项目jar分开打包;jar包瘦身

概述 最近感觉项目在部署时时jar包传输太慢了; 看了下jar包内容,除了项目代码,其余大部分都是依赖jar; 平时改动较多的只是项目代码,依赖jar改动比较少; 所以就在想能不能分开打包;这样只部署项…

【机器学习】一、机器学习概述与模型的评估、选择

机器学习简介 由来 阿瑟.萨缪尔Arthur Samuel,1952年研制了一个具有自学习能力的西洋跳棋程序,1956年应约翰.麦卡锡John McCarthy(人工智能之父)之邀,在标志着人工智能学科诞生的达特茅斯会议上介绍这项工作。他发明了“机器学习…

Springboot项目Eureka安全加密

一、通过security增加账号密码登录 1、registry服务pom增加security依赖 2、registry 配置文件 指定security账号密码 3、http://账号:密码IP:PORT/eureka/ 4、重启 二、关闭节点 三、防火墙移除eureka端口访问 参考:Linux(Centos7)操作记录

opencv复习(很乱)

2-高斯与中值滤波_哔哩哔哩_bilibili 1、均值滤波 2、高斯滤波 3、中值滤波 4、腐蚀操作 卷积核不都是255就腐蚀掉 5、膨胀操作 6、开运算 先腐蚀再膨胀 7、闭运算 先膨胀再腐蚀 8、礼帽 原始数据-开运算结果 9、黑帽 闭运算结果-原始数据 10、Sobel算子 左-右&#x…

day02 矩阵 2023.10.26

1.矩阵 2.矩阵乘法 3.特殊矩阵 4.逆矩阵 5.正交矩阵 6.几何意义 7.齐次坐标 8.平移矩阵 9.旋转矩阵 10.缩放矩阵 11.复合运算

如何选择安全又可靠的文件数据同步软件?

数据实时同步价值体现在它能够确保数据在多个设备或系统之间实时更新和保持一致。这种技术可以应用于许多领域,如电子商务、社交媒体、金融服务等。在这些领域中,数据实时同步可以带来很多好处,如提高工作效率、减少数据不一致、提高用户体验…

网络编程套接字(一)

网络编程套接字 预备知识理解源IP地址和目的IP地址理解源MAC地址和目的MAC地址理解源端口号和目的端口号PORT VS PID认识TCP协议和UDP协议网络字节序 socket编程接口socket常见APIsockaddr结构 简单的UDP网络程序服务端创建套接字服务端绑定运行服务器客户端代码编写本地测试IN…

02【保姆级】-GO语言开发注意事项(特色重点)

02【保姆级】-GO语言开发注意事项(特色重点) 一、Go语言的特性1.1 第一个hello word(详解)1.2 开发编译。(重要点 / 面试题)1.3 开发注意事项1.4 GO语言的转义字符1.5 注释1.6 API 文档 一、Go语言的特性 …

el-upload 组件上传/移除/报错/预览文件,预览图片、pdf 等功能

目录 页面代码样式代码页面展示 页面代码 dialog.vue <!-- 上传文件 --> <template><el-dialogtitle"上传文件":visible.sync"dialogVisible"width"60%"top"6vh":close-on-click-modal"false"close"h…

Python JSON 使用指南:解析和转换数据

JSON 是一种用于存储和交换数据的语法。JSON 是文本&#xff0c;使用 JavaScript 对象表示法编写。 Python 中的 JSON Python 有一个内置的 json 包&#xff0c;可用于处理 JSON 数据。 示例&#xff1a;导入 json 模块&#xff1a; import json解析 JSON - 从 JSON 转换为…

重温云栖,分享十年成长:我和云栖的故事

文章目录 前言活动背景我和云栖的交际历届峰会主题2009201020112012201320142015201620172018202120222023 技术带来的变化工作生活关注的领域 后记 前言 云栖大会&#xff0c;前身可追溯到2009年的地方网站峰会&#xff0c;2011年演变为阿里云开发者大会&#xff0c;2015年正式…

OpenCV标定演示,及如何生成标定板图片

标定的程序在官方的源码里有&#xff0c; opencv-4.5.5\samples\cpp\tutorial_code\calib3d\camera_calibration 很多小白不知道怎么跑起来&#xff0c;这个也怪OpenCV官方&#xff0c;工作没做完善&#xff0c;其实的default.xml是要自己手动改的&#xff0c;输入的图片也要…

在Maven中发布项目到Nexus私有服务器

一、测试环境 Sonatype Nexus 3.61.0-02 Maven 3.9.2 二、环境配置 2.1找到maven的配置文件 2.2添加私有仓库账户密码 <servers><server><id>nexus</id><username>admin</username><password>admin</password></server&…

rfsoc FPGA 49DR 16收16发模块

前面简单介绍过RFSOC板卡 https://blog.csdn.net/jingjiankai5228/article/details/114734631 整体来说RFSOC降低了传统AD DA软硬件开发难度&#xff0c;但是同样存在整数点FS/N谐波大的问题 交织采样是通过多个AD拼接完成的&#xff0c;所以校准比较关键&#xff0c;和以前常…