需求
支撑百万充电桩充电业务的长连接可水平扩容高可用架构需求如下:
- 可扩展性:系统应该具备高度可扩展性,能够轻松应对新增充电桩的需求。任何时候都应该容易添加更多的充电桩,而不会影响整体性能。
- 负载均衡:需要一个负载均衡层,确保各个充电桩之间的负载分布均匀。这可以通过负载均衡器或类似技术来实现。
- 高可用性:系统必须具备高可用性,以确保用户随时都能够使用充电服务。这包括冗余系统、故障转移、容错机制等。
- 数据存储:需要一个可靠的数据存储系统,用于记录充电桩的状态、充电记录和其他关键信息。这可以是分布式数据库或对象存储系统。
- 实时监控:系统需要实时监控充电桩的状态,以便快速检测并响应问题。监控可以包括硬件状态、连接状态和充电流程状态。
- 安全性:数据安全至关重要,特别是与用户付款信息和充电记录相关的数据。必须采取适当的安全措施,包括数据加密、访问控制和认证。
- 容错和恢复:系统应该能够自动检测并处理故障,包括硬件故障、网络故障和应用程序故障。应该有自动恢复机制,确保系统尽快恢复正常运行。
- 数据备份:定期备份系统数据,以防止数据丢失或损坏。备份数据应该存储在不同的地理位置,以应对灾难性故障。
- 性能优化:系统应该经过性能优化,以提供低延迟和高吞吐量。这可以包括缓存、负载测试和代码优化。
- 监控和报警:建立全面的监控系统,以便及时发现问题并采取措施。报警系统应该通知相关人员或自动触发故障处理流程。
- 自动化运维:自动化运维流程,包括部署、配置管理、日志管理和升级。这可以减少人工操作和减少人为错误。
- 合规性:确保系统符合相关法规和标准,特别是涉及用户隐私和支付数据的法规。
- 容量规划:预测未来充电桩的增长趋势,进行容量规划,以确保系统能够满足未来的需求。
- 网络安全:采取适当的网络安全措施,以防止网络攻击和数据泄漏。
- 灾难恢复:建立灾难恢复计划,以应对自然灾害、供电故障和其他紧急情况。
这些需求构成了支撑百万充电桩充电业务的长连接可水平扩容高可用架构的基本要求。根据具体情况,可能需要选择合适的技术栈和架构模式来实现这些需求。
设计
- 七层应用网关的作用是为了获取后面真正提供服务的接入网关的入口地址
- 设备获取到真实地址后接入到接入网关
- 接入网关可以看看做是一个spring boot的应用,需要注册到注册中心
- 接入网关负责内外隔离和连接路由
- 应用服务提供真实的业务请求 (也需要注册到注册中心)