一网统管平台总体架构方案架构图_一网通管平台架构图_一网统管系统功能架构图
2023-06-05 10:42:12 1 举报
登录查看完整内容
一网统管平台总体架构方案架构图_一网通管平台架构图_一网统管系统功能架构图
作者其他创作
大纲/内容
城市全景可视化
事件统一接报采录
服务任务调度
数据服务申请
消息队列(RabbitMQ)
图片、文件存储
Vue
城市运行全息体征系统
JVM
离线采集
表单组件
数据统计
元数据定义
数据采集
数据服务审批
数字化大屏
服务协议
舆情信息展示
一网统管系统架构图
一网通管协同联动
大屏辅助决策展示
Sping Cloud
全量采集
模型构建(MLC)
增量采集
预警监督管理
重大保障一件事
WebGL
楼宇服务一件事
WebSocket
身份认证
业务联动协同
企业惠商一件事
HTTP
应用服务器
......
绩效考核评测
MQ
数据缓存
全文检索
业务处理 - 中屏
智能搜索(ES)
负载均衡服务器
运行环境
移动辅助决策系统
数据交换平台
Java8
“高效处置一件事”主题场景
业务协同基础设置
前端技术
智能分析
HTTPS
城市体征指标管理
TypeScript
GIS、BIM
移动端业务处理
数据库一主两从
数据融合
对象管理
H5布局组件
身边帮忙一件事
Socket
数据安全
数据接口API
领导驾驶舱
es
数据层
实时采集
服务监控日志
数据标准体系和数据安全管理体系
文件服务器
知识库共享平台
舆情服务
Antd
Echart
工作流引擎
移动端业务 - 小屏
数据资产
业务层
REST
数据库服务器
随着软件行业规模的增长,这种单体架构的弊端也越来越多,包括:耦合性高,某个地方出问题,很可能影响其他业务模块的使用代码管理成本高,项目沉重,并会随着需求的增加越来越重随着访问量的增多,这种架构的工程并发力不够… …为了解决单体结构带来的问题,就出现了微服务架构。微服务架构就是将单一程序拆分成一个一个的微服务,每个微服务运行在自己的进程中,并使用轻量级的机制通信,通常是HTTP RESTFULAPI。这些服务围绕业务能力来划分,并通过自动化部署机制来独立部署。这些服务可以使用不同的编程语言,不同数据库,以保证最低限度的集中式管理。二、微服务架构优势与劣势优势:复杂的业务拆分成多个业务,每个业务是一个独立的微服务,彻底的去耦合,利于分工,当需要增加业务的时候,可以方便创建新的微服务扩展业务,而不用担心有没有别的地方耦合每个微服务都是独立部署的,如果其中一个宕机了,不会影响整个系统;也方便功能变更时,服务的部署;当流量增大后,可以将服务集群化部署,增强抗击高并发的能力每个微服务之间可以使用不同的编程语言和不同的数据库劣势:在复杂程度上来说,微服务比单体建构要更为复杂些部署比单体项目复杂服务之间是用HTTP协议通信的,通信成本比单体项目高数据一致性问题。三、适用场景通过上面的描述可以看出,微服务在解决了单体架构带来的问题的同时,也出现了部署复杂,需要增加中间件联络各服务的问题。所以,不是所有的场景都推荐使用微服务架构,具体如下:适用场景:①:大型复杂的项目…(来自单体架构200W行代码的恐惧)②:快速迭代的项目…(来自一天一版的恐惧)③:并发高的项目…(考虑弹性伸缩扩容的恐惧)不适场景:①:业务稳定,就是修修bug ,改改数据②:迭代周期长 发版频率 一二个月一次.四、微服务与SpringCloud的关系SpringCloud简单来说是上述微服务架构技术落地实现的集合体,是微服务架构下的一站式解决方案。SpringCloud是一个技术的集合体,将上述的微服务架构进行落地。下面看一下这个集合体里包含哪些组件:注册中心Eureka:拆分成多个服务之后,总得有个管理多个服务的模块吧,这就是注册中心的作用。起到服务注册和服务发现的作用。网关Zuul:拆分成多个服务之后,涉及到服务之间的调用吧,一个服务调用了三个服务的模块,那在这个服务里,配置三个调用地址,看起来是不是很麻烦呀,所以就出现了网关,所有的服务调用都调用到网关,然后在网关里配置路由,进行服务的转发,类似于代理的作用。当然网关需要配合注册中心进行使用,去发现转发到哪个服务上去。负载均衡Ribbon:网关找到请求发送到哪个服务后,如果这个服务做了集群,有多个实例,那该发送到哪个实例上呢,于是就出现了Ribbon组件,进行负载均衡。远程调用方式Feign:服务之间相互调用的时候,可以使用RestTemplate进行调用,SpringCloud也提供了Feign客户端访问,即提供了一种远程调用方式。断路器Hystrix:SpringCloud提供了一个监控组件,用于监控服务接口的状态和断路情况。Hystrix Dashboard是个监控面板,提供了可视化界面查看服务调用的耗时等等。上述就是微服务的五大组件。微服务架构就是对服务进行拆分,多个小的项目,组成一个大型项目。那么,拆分后的服务,肯定需要增加中间件,来统一维护这些服务,于是就有了注册中心。拆分成小型服务后,涉及到服务之间接口的调用,于是产生了Feign技术。为了实现高可用,每个小型服务都需要集群,那么集群如何选举呢?就出现了负载均衡技术Ribbon。最后通过网关统一管理请求路径的配置,进行请求的转发。SpringCloud还为我们提供了断路器,用于监控服务的各种指标信息。所以,SpringCloud是一套微服务架构的落地技术方案,对于程序员而言,只要在这套技术框架里面,进行业务模块的开发实现即可。同时可以发现,我们要使用SpringCloud,还需要维护注册中心,网关等等技术,这也是使用微服务架构需要花费的成本。
Mysql
技术支撑
数据质量
数据服务
大屏可视化
日志监控(ELK)
Redis
舆情监控
矛盾调处一件事
网关服务/负载均衡(Nginx/SLB)
元数据管理
用户层
工作流组件
议事问政一件事
数据治理
Sping Boot
大数据
应用管理
统计分析研判
引擎组件
分布式存储
基础技术栈
0 条评论
回复 删除
下一页