系统总体架构图:
四层架构设计
免费管理系统html模板一、展现层
Web前端
基于HTML/HTML5/Vue/CSS3开发web前端页面,兼容主流浏览器。展现层和数据层完全分离,通过跨域实现前后端数据通信。
APP
android,ios 基于原生开发。在app端实现https链路请求优化,做防盗链和DNS劫持处理。
/小程序
更新业务需要,将部分数据以+H5的方式展现;涉及硬件设备控制功能的系统部分模块采用小程序,增加用户操作体验和访问便捷性。
Restful接口
基于特定业务,采用Restful标准接口,对外提供数据服务。
二、通讯层
基于阿里云CDN实现静态数据加速;
基于阿里云SLB,实现服务器负载均衡;
基于TCP/HTTP/HTTPS 三种通信方式,实现前后端数据通信。其中,TCP基于Netty实现;
三、服务层
核心业务基于Spring Cloud 架构实现微服务化。
Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集状态管理等操作提供了一种简单的开发方式。
微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,springcloud就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,springcloud做为大管家需要管理好这些微服务。
相关的组件包括如下:
1、Netflix Eureka:
服务中心,云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移
2、Netflix Hystrix:
熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
3、Netflix Zuul:
是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门,具有拦截和路由功能。
4、Netflix Archaius:
配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询
框架、回调机制等功能。可以实现动态获取配置,原理是每隔60s(默认,可配置)从配置源读取一次内容,这样修改了配置文件后不需要重启服务就可以使修改后的内容生效,前提使用archaius的API来读取。
5、Spring Cloud Config:
俗称的配置中心,配置管理工具包,让你可以把配置放到远程服务器,集中化管理集配置,目前支持本地存储、Git以及Subversion。
6、Spring Cloud Bus:
事件、消息总线,用于在集(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
7、Spring Cloud Sleuth:
日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。
8、Spring Cloud Task:
主要解决短命微服务的任务管理,任务调度的工作,比如说某些定时任务晚上就跑一次,或者某项数据分析临时就跑几次。
四、数据层
mongodb:存储非结构化、关联性弱的业务数据。如,控制器下发的指令数据,监测设备收集的传感器数据,
mysql:存储事务性数据,以及关联性将强的数据。如,订单、资金、交易数据;
HDSF:存储监控设备上传的图片和视频,以及报表文件;
ElasticSearch:实现ELK,存储日志数据;
其他:
1、认证系统:
采用双token的方式完成jwt。其中accessToken 用于用户身份认证。refreshToken用于当accessToken失效时重新生成。
用户登录:
token认证访问(accessToken有效)
token认证访问(accessToken失效,refreshToken有效):
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论