系统总体架构通用模板

上传人:鲁** 文档编号:511126156 上传时间:2022-12-27 格式:DOCX 页数:10 大小:405.54KB
返回 下载 相关 举报
系统总体架构通用模板_第1页
第1页 / 共10页
系统总体架构通用模板_第2页
第2页 / 共10页
系统总体架构通用模板_第3页
第3页 / 共10页
系统总体架构通用模板_第4页
第4页 / 共10页
系统总体架构通用模板_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《系统总体架构通用模板》由会员分享,可在线阅读,更多相关《系统总体架构通用模板(10页珍藏版)》请在金锄头文库上搜索。

1、系统总体架构图:四层架构设计一、展现层Web前端 基于HTML/HTML5/Vue/CSS3开发web前端页面,兼容主流浏览器。展现层和 数据层完全分离,通过跨域实现前后端数据通信。APPandroid, ios基于原生开发。在app端实现https链路请求优化,做防盗 链和DNS劫持处理。微信公众号/微信小程序 更新业务需要,将部分数据以微信公众号+H5的方式展现;涉及硬件设备控 制功能的系统部分模块采用微信小程序,增加用户操作体验和访问便捷性。Restful 接口基于特定业务,采用Restful标准接口,对外提供数据服务。二、通讯层基于阿里云CDN实现静态数据加速;基于阿里云SLB,实现服

2、务器负载均衡;基于TCP/HTTP/HTTPS三种通信方式,实现前后端数据通信。其中,TCP基 于Netty实现;三、服务层核心业务基于Spring Cloud架构实现微服务化。htlpT/zuul负kJ谶菠IF1Eureka SejveELJLurckj ServupiServer 疥2uul 31.ilh!tp:Z/TLH.rl1Ztful血呼田1Eijr-ks CCpfilMicroenHCf A(实凱)Microwrvitt 1(SW)MicrOnicc a jfcffSpring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于 JVM的云应用开发中的配置管理

3、、服务发现、断路器、智能路由、微代理、 控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一 种简单的开发方式。微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服 务单元,springcloud就是这些微服务的大管家,采用了微服务这种架构之 后,项目的数量会非常多,springcloud做为大管家需要管理好这些微服务。 相关的组件包括如下:1、Netflix Eureka:服务中心,云端服务发现,一个基于REST的服务,用于定位服务,以实现 云端中间层服务发现和故障转移2、Netflix Hystrix:熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节

4、点,从 而对延迟和故障提供更强大的容错能力。BrowserBrowserMobileMobiteAPIUp*C!l ILisuccess-K- -B M!VV !M M! A*A* dd- Blfe W &- -MKM_K-close ekcuttCircuit Breaker State Diagram3、Netflix Zuul:是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul相当 于是设备和Netflix流应用的Web网站后端所有请求的前门,具有拦截和 路由功能。集群Zuul网共4、Netflix Archaius:配置管理API,包含一系列配置管理API,提供动态类

5、型化属性、线程安全 配置操作、轮询框架、回调机制等功能。可以实现动态获取配置,原理是每 隔60s (默认,可配置)从配置源读取一次内容,这样修改了配置文件后不 需要重启服务就可以使修改后的内容生效,前提使用archaius的API来读 取。5、Spring Cloud Config:俗称的配置中心,配置管理工具包,让你可以把配置放到远程服务器,集中 化管理集群配置,目前支持本地存储、Git以及Subversion。0689/bus/rsfresli令8381播收消最6、Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可 与 Spring Clo

6、ud Config联合实现热部署。Spring Ooud Config7、Spring Cloud Sleuth:日志收集工具包,封装了 Dapper和log-based追踪以及Zipkin和HTrace 操作,为SpringCloud应用实现了一种分布式追踪解决方案。8、Spring Cloud Task:主要解决短命微服务的任务管理,任务调度的工作,比如说某些定时任务晚 上就跑一次,或者某项数据分析临时就跑几次。四、数据层mongodb:存储非结构化、关联性弱的业务数据。如,控制器下发的指令数 据,监测设备收集的传感器数据,mysql:存储事务性数据,以及关联性将强的数据。如,订单、资金、

7、交易 数据;HDSF :存储监控设备上传的图片和视频,以及报表文件;ElasticSearch:实现ELK,存储日志数据;其他:1、认证系统:采用双token的方式完成jwt。其中accessToken用于用户身份认证。 refreshToken用于当accessToken失效时重新生成。用户登录:用户token KltokenSiiEtekM 弼iftoken 认证访问(accessToken 失效,refreshToken 有效):accessToken 和 refreshToken 都失效2、日志系统:日志集中化管理,采用ELK解决方案。las ticsearch :是个开源分布式搜索引

8、擎,提供搜集、分析、存储数据三大 功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本 机制,restful风格接口,多数据源,自动搜索负载等。Logstash :主要是用来日志的搜集、分析、过滤日志的工具,支持大量的 数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志 的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一 并发往 elasticsearch 上去。Kibana :也是一个开源和免费的工具,Kibana可以为Logstash和ElasticSearch提供的日志分析友好的Web界面,可以帮助汇总、分析和 搜索重要数据日志。3

9、、会话治理此处的会话是指Netty会话管理。实现Channel自定义会话管理,如会话 监控、会话超时、会话重建等。4、DNS劫持处理移动端产品在实际用户环境下会面临DNS劫持、耗时波动等问题,这些DNS 环节的不稳定因素,导致后续网络请求被劫持或是直接失败,对产品的用户 体验产生不好的影响。DNS 有 LocalDNS VS HTTP DNS 之分在长期的实践中,互联网公司发现LocalDNS会存在如下几个问题:域名缓存:运营商DNS缓存域名解析结果,将用户导向网内缓存服务器;解析转发&出口 NAT:运营商DNS转发查询请求或是出口 NAT导致流量 调度策略失效;为了解决LocalDNS的这些

10、问题,业内也催生了 HTTP DNS的概念,它的基 本原理如下:原本用户进行DNS解析是向运营商的DNS服务器发起UDP报文进行查 询,而在HTTP DNS下,我们修改为用户带上待查询的域名和本机IP地址 直接向HTTP WEB服务器发起HTTP请求,这个HTTP WEB将返回域名解析 后的IP地址。比如DNSPod的实现原理如下:IF -加他阳HttpmsIjI.M业MPS叭却砒加$相比LocalDNS, HTTP DNS会具备如下优势:根治域名解析异常:绕过运营商的DNS,向具备DNS解析功能的HTTP WEB 服务器发起查询;调度精准:HTTP DNS能够直接获取到用户的IP地址,从而实现准确导流;扩展性强:本身基于HTTP协议,可以实现更强大的功能扩展;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号