爱星物联平台后端技术栈介绍

[复制链接]
查看425 | 回复1 | 2023-12-4 20:42:19 | 显示全部楼层 |阅读模式
本帖最后由 chensg 于 2023-12-4 20:42 编辑


爱星物联云平台,是面向智能设备和智能化企业的 AIoT平台,提供成熟、安全,全球化可用的物联网服务,更是助力客户有效缩短研发周期,降低投入成本,快速开发 AIoT 产品,构建安全稳定且可定制化的 AIoT 解决方案。

b1

b1


平台打通了终端产品到上层软件应用全套开发,包含所有安信可模组、设备固件、手机客户端、第三方语音助手、第三方云服务和爱星物联云平台,有助于节省客户对应用层开发的大量投入,从而更专注于创造企业核心价值产品。

本文主要介绍一下该平台的后端技术:

开发语言。我们主要采用了近几年很流行的后台开发语言Golang语言。Golang是谷歌于2009年推出的一种开源编程语言。目前来看,Golang主要有以下优势:学习曲线容易;开发效率和运行效率高;自由高效;强大的标准库;部署方便;并发支持比较简单;稳定性好。Go语言语法简单,学习曲线很低,上手非常快。Go内置了大量的库和工具链,能够让团队开发变得方便高效。Go拥有强大的编译检查、严格的编码规范和完整的软件生命周期工具,具有很强的稳定性,稳定压倒一切。

开发框架。IoT平台因为面向千万级用户、亿级产品设备接入,我们决定采用流行的微服务架构。这个架构,如果全部从零开始开发,开发周期难以接受,项目风险不可控。为了简化后端服务开发,加快云平台快速开发上线,我们不重复造轮子,决定全面拥抱开源。Golang的后端开发框架和工具库非常多,我们对比了几个知名度较高、文档较丰富的开发框架,最终选择了go-micro。Go Micro是一个简化分布式开发的微服务生态系统,该系统为开发分布式应用程序提供了高效, 便捷的模块构建,主要目的是简化分布式系统的开发。我们利用这个框架,构建了一个庞大的后台微服务业务架构。这里不再详细介绍,有兴趣的读者可到官方了解更全面的信息。

b2

b2


微服务治理。Etcd是一个用于存储分布式系统中最关键数据的仓库,它是分布式的、可靠的键值对仓库。可以用来实现服务注册与发现,分布式配置中心,也基于Go语言开发,能够跟爱星云的后端技术完美结合。服务注册、服务发现、配置管理等都是基于etcd实现。负载均衡、熔断和降级、安全认证与授权等都是基于go-micro框架提供的技术实现。链路追踪基于open-tracing结合zipkin实现,能够较好地跟踪服务调用状态、协助定位服务间调用问题。微服务的监控基于prometheus,它是一个开源的服务监控系统和时间序列数据库,利用Grafana展示相关监控数据。

b3

b3


       持久存储与缓存。后台系统采用了混合存储方案。大体上,云平台业务配置系统数据存储采用了MySQL数据库。设备和APP运行数据、日志数据等,数据量很大、写少读多的数据、需要进行分析的数据存储采用Clickhouse,该数据库支持海量数据存储和统计分析。后台系统要实现高并发,少不了缓存,我们采用了支持集群部署的redis作为高速缓存。

       消息系统。消息系统在目前的分布式系统中设计中,作用越来越大,它可以起到削峰、缓冲、解耦、减少冗余、提升健壮性等作用。云平台作为一个分布式系统,设备接入、内部服务之间均大量采用了消息系统。本部分暂留悬念,后续有机会分专题介绍一下。

       到这里为止,对后端技术点做了简要介绍,欲要进一步了解细节,请关注后续内容。如有读者对咱们的平台感兴趣,请进爱星物联的IoT平台注册体验吧。

       爱星物联IoT平台体验网址:https://open.iot-aithings.com


回复

使用道具 举报

bzhou830 | 2023-12-5 09:04:20 | 显示全部楼层
选择去发光,而不是被照亮
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则