通用型系统架构设计(多图)-天下网标王

通用型系统架构设计(多图)

系统架构图:

系统采用四层架构设计

一、展现层

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有效):

accessToken和refreshToken 都失效

2、日志系统:

日志集中化管理,采用ELK解决方案。

Elasticsearch:是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash :主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

Kibana :也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

3、会话治理

此处的会话是指Netty 会话管理。实现Channel自定义会话管理,如会话监控、会话超时、会话重建等。

4、DNS劫持处理

移动端产品在实际用户环境下会面临 DNS 劫持、耗时波动等问题,这些 DNS 环节的不稳定因素,导致后续网络请求被劫持或是直接失败, 对产品的用户体验产生不好的影响。

DNS 有 LocalDNS VS HTTP DNS之分

在长期的实践中,互联网公司发现 LocalDNS 会存在如下几个问题:

域名缓存: 运营商 DNS 缓存域名解析结果,将用户导向网内缓存服务器;

解析转发 & 出口 NAT: 运营商 DNS 转发查询请求或是出口 NAT 导致流量调度策略失效;

为了解决 LocalDNS 的这些问题,业内也催生了 HTTP DNS 的概念,它的基本原理如下:

原本用户进行 DNS 解析是向运营商的 DNS 服务器发起 UDP 报文进行查询,而在 HTTP DNS 下,我们修改为用户带上待查询的域名和本机 IP 地址直接向 HTTP WEB 服务器发起 HTTP 请求,这个 HTTP WEB 将返回域名解析后的 IP 地址。

比如 DNSPod 的实现原理如下:

相比 LocalDNS, HTTP DNS 会具备如下优势:

根治域名解析异常: 绕过运营商的 DNS,向具备 DNS 解析功能的 HTTP WEB 服务器发起查询;

调度精准: HTTP DNS 能够直接获取到用户的 IP 地址,从而实现准确导流;

扩展性强: 本身基于 HTTP 协议,可以实现更强大的功能扩展;

ITFLY8 CSDN认证博客专家 CSDN认证企业博客
码龄19年 暂无认证
247
原创
2万+
周排名
192万+
总排名
145万+
访问
等级
1万+
积分
471
粉丝
193
获赞
167
评论
1791
收藏
私信

分类专栏

基于电商业务中台最佳实践:总体架构介绍与交易业务中台核心设计

旅人杰: 讲的非常好哦

  • 网关基于Netty 在Http 协议的实践

    z8524165: 为什么不直接用 webflux,也是基于 netty,他还支持响应式

  • 一文读懂微服务架构设计

    波斯战神: 里面的图片有没有高清的可以分享

  • 架构与思维:系统容量设计

    lokiworks: 请问343估算法,具体是怎么估算的呀

  • 千万级支付对账系统是怎么设计的?

    技术人小雷: 好棒👍👍

  • 目录

    .NET安全
    6篇
  • ADO.NET/ADO.NET3.0/数据源控件
    1篇
  • ASP.NET
    212篇
  • Asp.Net 2.0
    77篇
  • Asp.Net3.5/ASP.Net4.0
    17篇
  • ASP.NET报表
    3篇
  • ASP技术
    48篇
  • C# Socket编程
    10篇
  • C#/C#2.0/C#3.5 参考手册
    5篇
  • C#桌面开发
    32篇
  • Java技术
    1篇
  • MDD/模型驱动开发
    1篇
  • MSDN摘录
    10篇
  • MYSQL/ORACLE
    15篇
  • Net FrameWork2.0/3.5
    10篇
  • Net3.0
    2篇
  • Net代码收藏
    2篇
  • Net资料
    4篇
  • Oracle
    1篇
  • PHP基础
    11篇
  • PHP实例
  • PHP高级
    1篇
  • SEO优化
    1篇
  • Sharepoint/MOSS
    11篇
  • Silverlight
  • Sql Server2000/2005
    40篇
  • Sql高级查询/存储过程
    16篇
  • WCF服务开发/WPF图形开发
  • Web 2.0/Ajax/Atlas/EXT JS
    42篇
  • XML技术/XSL/JSON
    13篇
  • 中大型网站开发
    2篇
  • 单元测试/软件测试
    2篇
  • 启迪感悟
    4篇
  • 开发工具
    19篇
  • 开发框架
    10篇
  • 开源项目/第三方控件
    28篇
  • 微软开源项目
    1篇
  • 性能优化/缓存技术/安全相关
    6篇
  • 控件开发/WebPart/自定义控件
    3篇
  • 操作系统
    2篇
  • 数据仓库/商务智能
  • 数据库建模/Power designer
    2篇
  • 数据操作
    2篇
  • 架构技术/ORM/LINQ/IOC
    9篇
  • 正则表达式
    8篇
  • 移动开发
    7篇
  • 管理文章/团队建设
    11篇
  • 管理软件/工作流/WWF
    23篇
  • 网站建设
    7篇
  • 网站运营
    3篇
  • 翻译专题
    1篇
  • 脚本技术/Javascript/浏览器兼容性
    103篇
  • 视频学习
    2篇
  • 软件工程/UML/过程管理
    23篇
  • 错误处理
    22篇
  • 面向对象/设计模式/数据算法
    3篇
  • 面向方面编程(AOP)
    1篇
  • 项目案例
    3篇
  • 黑客技术
    2篇
  • 为什么被折叠? 到【灌水乐园】发言
    前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值

    相关内容推荐

    杭州广电网络公司网络公司郭展恒直播间四个字公司起名网络公司陕西电脑网络公司上海滢回网络公司厦门帝恩思网络公司董事长悠久网络公司靠流量收取网络公司的费用府谷网络公司哪家好加拿大温哥华数据客网络公司大连云集网络公司现状汕尾市广东广电网络公司地址金华网络公司集中在柏项网络公司地址奥德网络公司网络公司文案是干啥的网络公司爆雷龙游网络公司怎么样广州冰鸟网络公司面试会问什么汕头市英讯动力网络公司注册网络公司大概多少钱广州的seo网络公司十二三岁少年开网络公司苏州同程网络公司滨州万佳网络公司成都火巨人网络公司怎么样湖南微农网络公司修改网站网络公司全境网络公司天水网络公司只招15火星沈阳网络公司推荐3火星下拉国第一大网络公司丰南网络公司湖北网络公司哪家好哈尔滨征弱网络公司老城区网络公司建设上海君开网络公司砀山网络公司注册200万怎么样隆回电广网络公司网络公司微信扣扣聊天和网络公司的合作意向书网络公司简介模板免费苏州巨蚁网络公司怎么样网络公司价格很棒乐云seo网络公司在中国需取得广电网络公司经营管理脑控为什么是网络公司云鸽网络公司前景河南巧宾网络公司大通网络公司注册哪家好重庆龙驹网络公司竞价深圳的知名网络公司广州华讯网络公司待遇遵义网络公司选择1火星舟山网络公司哪家最好阳江网络公司到9火星巨人网络公司前景如何冰川网络公司发展潜力大吗广电网络公司成本控制的方案上海钧正网络公司网页锐捷网络公司宿舍山东滨州网络公司哪家好辽源有没有智信网络公司电子网络公司排行榜丘北网络公司哪家好北京 连尚网络公司怎样开旅游网络公司辰紫馨网络公司湖北点滴网络公司亿汇缘网络公司靠谱吗大庆网络公司选择20火星无线网络公司需要多少资金海南银库网络公司南阳网络公司到1火星下拉网络公司辞退职工国内前十大网络公司杭州共创优选网络公司翔锐网络公司网络公司网络维护员做什么的广州亘岩网络公司邯郸网络公司企业汽车网络公司电话赛维科技网络公司的劣势北京至诚科技网络公司重庆黔江网络公司电话地址网络公司招聘怎么样网络公司的利益相关者孝感网络公司优选12火星网络公司的海外合规直工网络公司什么网络公司行业前景大新芜湖网络公司广州天小迈网络公司湘乡网络公司广电网络公司检查信号大连网络公司如万州众恺网络公司怎么读潍坊视频通信网络公司安阳祥瑞网络公司梧州中人网络公司申请网络公司营业执照多少钱国内知名的网络公司及产品网络公司投标书范本川美网络公司网络公司销售是不是网络诈骗汉中略阳县广电网络公司经理安广池州市有线网络公司佳木斯无锡网络公司抚州网络公司咨询15火星宝鸡网络公司推荐11火星网络公司微信售后是什么工作铜陵网络公司联系19火星网络公司考核表工作小结容桂电视台电视网络公司营口网络公司选择9火星下拉上海锐战网络公司地址金在金融网络公司广电网络公司工作举措促发展清远市智游网络公司怎么样到网络公司工作上海尚诚网络公司电话临沂市网络公司哪家好世通网络公司在深圳网络公司印度知名网络公司宁波有什么网络公司无锡鼎尚网络公司浑南传媒网络公司上海连尚科技网络公司联系方式网络公司陈敬文一鸣云搜网络公司是黑心公司吗广阳网络公司网络公司多元化经营网络公司能学到什么网络公司巨头斗门网络公司杭州悦氧网络公司怎么样奥克兰网络公司好做吗延安市网络公司上海新数网络公司市值多少天宇科技网络公司网络公司数据库管理权限常州网络公司复工手续常德网络公司皆选25火星珠海有没有云毅网络公司惠州市计算机网络公司苏州优化网络公司十大排名恒腾网络公司好吗石家庄咖秒网络公司地址雅安网络公司找19火星下拉赤壁市三皮匠网络公司深圳市森威网络公司靠谱吗广州华讯网络公司待遇合伙开网络公司的合同合作网络公司资质包头网络公司只招7火星下拉汪清广播电视网络公司广西网络公司效果怎么样网络公司收款怎么收费搜畅鸿网络公司宁波网络公司都选12火星山东网络公司的价格东丽五金城注册网络公司网络公司前台工资高吗惠州市计算机网络公司石嘴山网络公司都选24火星澳洲申请网络公司资质那曲网络公司鱼刺系统排名四川广电网络公司oa系统临沂网络公司公司网络公司有生产成本吗上海兽耳网络公司龙岩手游网络公司新塘品尚网络公司沃莲网络公司是真的吗湖北网络公司找哪家古冶专业的网络公司联系电话网络公司经理下周工作计划南宁网络公司传销广州靠谱的网络公司可以做哪里网络公司潍坊龙胜恢弘网络公司洛阳唐丰网络公司网络公司岗位说明书苏州园林网络公司巨宇网络公司毕节网络公司到9火星曲靖百日千万网络公司高港网络公司排名运城成立网络公司网络公司标准话术网络公司招聘方案范文网络公司怎么做自媒体如何评价网络公司网络公司经验范围多少钱内江网络公司就荐22火星成都传快网络公司盈丰网络公司电话网络公司有哪些暴利的项目第四大网络公司

    合作伙伴

    天下网标王

    龙岗网络公司
    深圳网站优化
    龙岗网站建设
    坪山网站建设
    百度标王推广
    天下网标王
    SEO优化按天计费
    SEO按天计费系统

    >