netCore物联网项目,分布式项目所需组件
十年河东,十年河西,莫欺少年穷
学无止境,精益求精
部署环境:2台windowsServe服务器,2台linux服务器,阿里云CLB负载均衡服务器(2个),阿里云RabbitMQ,阿里云Ots表格存储(用于存物联网设备上报数据),Sqlserver服务器(存放业务主数据),Postgresql服务器(短期存放非业务主数据),阿里云Redis实例,对象存储OSS(文件存储),OCR图片文字识别
涉及到的项目:PC端后台管理系统,客户端/商家端小程序,若干windows服务
开发语言:C#
开发框架:NetCore3.1 或 Net5以上
1、CLB负载均衡
用于负载Https的443端口请求及Mqtt的1883端口请求
和
配置负载均衡的过程再此不做说明,总之有了负载均衡的加持,就拥有了横向扩展的能力
2、windowServer服务器的作用
用于部署NetCore项目,部署微信小程序接口项目,部署windows服务,部署...
两台服务器,我们姑且称之为A 和 B,其中A为主服务器,B为从服务器,AB两台服务器均安装sqlserver2014,并通过配置实现主从复制。关于主从复制,可参考:WindowsServer--SQL Server搭建主从同步实现读写分离 - 事务性分发
B服务器安装单机版PGsql数据库,用于存储一些非核心业务数据,因为这些业务数据量相对而言增长比较快,但即使丢失了,对主业务也没太大影响,因此...
3、两台linux服务器
linux服务器主要用于安装eqmx,实现MQTT消息发布订阅,之所以用两台,也是配合负载均衡1883端口用的
4、RabbitMQ
用于接收MQTT订阅者的消息,我们接收的MQTT消息,不做处理,直接扔给RabbitMQ,由RabbitMQ进行发布,RabbitMQ的订阅者订阅消息,并处理业务逻辑。
5、阿里云OTS表格存储
由于设备上报数据量大,且并发上传性高,因此用OTS用于存储设备上报数据,OTS具有按存储量收费,高性能查询等特点
6、Redis
REdis作为缓存中间件,自作用不言自明
7、OSS文件存储,分布式必备的文件服务器
最后还有图片文字识别 OCR
以上为鄙人的分布式架构所需组件,本篇并非为阿里云打广告,而且选择了阿里的产品