一、总体概述
拓扑物理架构的规划和介绍
ARM软件适应性架构主要分为:物理层、运维层、应用层
物理层:采用ARM架构的硬件服务器组成,ARM服务器配置:
- 处理器:采用瑞芯微rk3588八核64位(四核A76+四核A55)处理器
- 内存:4GB/8GB/16GB 64bit LPDDR4/LPDDR4x
- NPU:集成6Tops NPU,支持8K@60fps H.265/VP9视频解码和8K@30fps H.265/H.264视频编码
- 接口:集成HDMI®,DP,MIPI,PCIe,SATA,GMAC,SDIO,USB,UART,I2C,I2S等丰富外设接口
- 操作系统:支持Android、Ubuntu、Debian、Buildroot和RT Linux等多个操作系统。
运维层:采用k8s管理服务器资源以及软件的引用。K8S的主要作用包括:
- 自动化部署和扩展:Kubernetes可以根据应用程序的需求自动部署和扩展容器实例,无需手动干预,根据资源利用率和负载情况自动调整容器数量,确保应用程序始终具有足够的资源。
- 负载均衡和服务发现:通过内置的负载均衡器将流量分发到多个容器实例,实现高可用性和性能优化,同时提供服务发现机制,使得应用程序可以通过服务名称来访问其他容器实例。
- 自动恢复和滚动升级:监控容器实例的健康状态,并在发生故障时自动恢复,支持滚动升级,可以逐步替换旧版本的容器实例,实现应用程序的无缝升级。13
- 资源管理和调度:对容器实例进行资源管理和调度,确保每个容器都能够获得足够的计算资源,根据容器的资源需求和节点的资源情况进行智能调度,提高资源利用率。12
- 配置管理和密钥管理:提供集中化的配置管理和密钥管理机制,可以将应用程序的配置和敏感信息存储在安全的地方,并在需要时自动注入到容器中。13
- 多环境支持:支持在不同的环境中部署和管理应用程序,包括本地开发环境、测试环境和生产环境,提供一致的部署和管理体验,简化跨环境的迁移和扩展。1
- 弹性伸缩和资源利用率优化:根据应用程序的负载情况自动调整容器数量,实现弹性伸缩,通过智能调度和资源管理提高资源利用率,降低成本。
数据服务层:主要是部署各种应用服务软件
- Kafka的部署,包括其他消息队列的部署
- Mysql的部署,包括其他关系型数据库的部署
- Jdk的部署,包括其他开发环境的部署
- IOTDB的部署,包括其他时序数据库的部署
- 应用服务的部署,包括采集程序
- Nginx的部署,用nginx做负载均衡
- 监控服务,主要采用Prometheus 作为监控服务
- 数据备份,包括软件的备份和数据的备份
二、物理层
物理层有多台ARM架构的服务器组成,支持K8S统一管理,ARM结构与X86架构有本质的区别,对后续应用有影响。单台服务器的最大内存、cpu核数、底层指令等。
X86架构和Arm架构区别
1、追求不同: X86主要追求性能,但会导致功耗大,不节能,而ARM则是追求节能,低功耗,但和X86相比性能较差。
2、领域不同: ARM主要应用于移动终端之中,类如手机&