《附件2:GAB科研计划项目结题报告-技术研究报告.docx》由会员分享,可在线阅读,更多相关《附件2:GAB科研计划项目结题报告-技术研究报告.docx(9页珍藏版)》请在课桌文档上搜索。
1、附件2技术研究报告技术研究报告一、项目关键技术1.前后端分离技术2 .微服务架构3 .微服务治理Springcloud4 .服务调用负载均衡Ribbon5 .服务网关SpringGateway6 .运维部署DoCker虚拟化技术7,多维结构化数据存储采用分布式检索mpp数据库8 .分布式计算引擎FIink技术。9 .前端主要采用原生开发(NatiVeAPP)技术。二、技术选型优势(一)前后端分离技术前后端分离就是一个应用的前端静态资源和后端动态实现分开,以json数据格式做前后端交互,目前主流的一种架构,对开发效率,部署,运维都会带来提升。1、塑造优质团队如果实现前后端分离,那么前后端工程师做
2、事不会畏首畏尾,只需要专注自身领域的开发工作即可,这样可以培养前端工程师独特的技术特性,打造全栈式的研发团队。2、分工明确,效率提升前后端分离可以让前、后端的工程师分工更加明确,两者开发可以同时进行,从而提高工作效率,页面的增加和路由的修改也不必再去麻烦后端,开发起来可以灵活操控。3、性能得到提升通过前端路由的配置,可以轻松实现页面的按需加载,服务器不用解析前端页面,因此,在页面交互及用户体验上也会得到提升。4、代码的可维护性得到增强前后端分离后,应用的代码不再是前后端混合,只有在运行期才会调用依赖关系,并且分层明确,应用代码变得整洁清晰。(二)微服务架构技术一项在云中部署应用和服务的新技术,
3、目前主流的后端架构,每个服务可以在自己的程序中运行,在单体架构中,许多服务都可以被内部独立进程所限制,如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围,但是在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程的架构。1、复杂度可控微服务架构在将应用分解的同时,规避了原本复杂庞大的系统。每一个微服务专注于单一功能,并通过定义良好的接口清晰地表述服务边界。由于体积小、复杂度低,每个微服务可由一个小规模开发团队完全掌控,易于保持高可维护性,并提高了开发效率。2、可独立部署由于微服务具备独立的运行进程,所以每个微服务都可以独立部署。当某个微服务发生变更时,无需编译、部署整
4、个应用。由微服务组成的应用相当于具备一系列可并行的发布流程,使得发布更加高效,同时降低了对生产环境所造成的风险,最终缩短应用交付周期。3、技术选型灵活微服务架构下,技术的选型是多样化的。每个团队都可以根据自身服务的需求和行业发展的现状,自由选择最适合的技术。由于每个微服务相对简单,当需要对技术进行升级时,所面临的风险较低,甚至完全重构一个微服务也是可行并容易的。4、易于容错当架构中的某一组件发生故障时,在单一进程的传统架构下,故障很有可能在进程内扩散,导致整个应用不可用。在微服务架构下,故障会被隔离在单个服务中。若设计良好,其他服务可通过重试、平稳退化等机制实现应用层面的容错。5、易于扩展单个
5、服务应用也可以实现横向扩展,这种扩展可以通过将整个应用完整的复制到不同的节点中实现。当应用的不同组件在扩展需求上存在差异时,微服务架构便体现出其灵活性,因为每个服务可以根据实际需求独立进行扩展。6、功能特定每个微服务有自己的业务逻辑和适配器,并且一个微服务一般只完成某个特定的功能,例如商品服务只管理商品、客户服务只管理客户等。这样开发人员可以完全的专注于某一个特定功能的开发,而不用过多的考虑其他,从而提高开发效率。(三)微服务治理SPringCk)UdSPringCk)Ud将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SPringBoOt风格进行再封装屏蔽掉了复杂的配置和实现
6、原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统微服务治理方案。(四)服务调用负载均衡RibbOn1、高性能:RibbOn可以将业务较均衡的分担到多台设备或链路上,从而提高整个系统的性能;2、可扩展性:RibbOn可以方便的增加集群中设备或链路的数量,在不降低业务质量的前提下满足不断增长的业务需求;3、高可靠性:单个甚至多个设备或链路法神故障也不会导致业务中断,提高了整个系统的可靠性;4、可管理性:大量的管理共组都集中在使用负载均衡技术的设备上,设备集群或链路集群只需要维护通过的配置即可;5、透明性:对用户而言,集群等于一个或多个高可靠性、高性能的设备或链路,用户感知不到,也不
7、关心具体的网络结构,增加或减少设备或链路数量都不会影响正常的业务。(五)服务网关SpringGateway功能优势:1、基于SpringFramework5,Reactor和SpringBoot2.0进行构建。动态路由:能够匹配任何请求属性。2、可以对路由指定Predicate(断言)和FiIter(过滤器)。3、集成HyStriX的断路器功能。4、集成SPringCk)Ud服务发现功能。5、易于编写的PrediCate(断言)和FiIter(过滤器)。6、请求限流功能Q7、支持路径重写。性能优势:SpringGateway基于Reactori/o模型开发,非阻塞io模型,所以在性能上比传统同
8、步阻塞io高很多。(六)DoCker虚拟化技术虚拟化技术DOCker是一个开源的、主流的应用容器引擎,可以发布到任何流行的Linux或Windows操作系统的机器上,容器是完全使用沙箱机制,相互之间不会有任何接口,带来的好处是更高效的利用系统资源、可持续支付和部署、更轻松的迁移、更轻松的维护和拓展。1、DoCker启动快速属于秒级别。2、DoCkel需要的资源更少,DoCker在操作系统级别进行虚拟化,DoCker容器和内核交互,几乎没有性能损耗,性能优于通过HyPerViSor层与内核层的虚拟化。3、DOCker更轻量,DOCker的架构可以共用一个内核与共享应用程序库,所占内存极小,对系统
9、的利用率非常高。4、与虚拟机相比,DoCker隔离性更弱,DOCker属于进程之间的隔离,虚拟机可实现系统级别隔离。5、高可用和可恢复性:DOCker对业务的高可用支持是通过快速重新部署实现的。6、快速创建、删除:虚拟化创建是分钟级别的,DOCker容器创建是秒级别的,DoCker的快速迭代性,决定了无论是开发、测试、部署都可以节约大量时间。7、交付、部署:虚拟机可以通过镜像实现环境交付的一致性,但镜像分发无法体系化。DoCker在DoCkerfne中记录了容器构建过程,可在集群中实现快速分发和快速部署。(七)分布式mpp数据库分布式检索国产华为gaussdb,属于ma数据库,目前也是结构化数
10、据主流的存储方案,具有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力的存储数据库Q1、高并发:随着公安大数据的爆发式增长,对信息分析平台的访问频率和查询复杂度要求也越来越高,因此要求相应的数据库系统对高并发查询进行支持。MPP利用强大并行处理能力提供并发支持Q2、线性扩展:在MPP架构中增加节点就可以线性提高系统的存储容量和处理能力。其在扩展节点时操作简单,在很短时间内就能完成数据的重新分布Q线性扩展支持为数据分析系统将来的拓展给予技术上的保障,用户可根据实施需要进行容量和性能的扩展。3、高可用性:MPP是高可用的系统,在集群MPP环境中除了硬件级的Raid技
11、术外,有的提供数据库层Mi11or机制保护,即每个节点数据在另外的节点中同步镜像,单个节点的错误不影响整个系统的使用。4、不读取无效数据:其降低I/O开销,同时提高每次I/O的效率,从而大大提高查询性能。查询语句只从磁盘上读取所需要的列,其他列的数据是不需要读取的。磁盘I/O是行存储的1/10或更少,查询响应时间提高10倍以上。5、高压缩比:压缩比可以达到520倍以上,数据占有空间降低到传统数据库的1/10,节省了存储设备的开销。(八)分布式计算引擎Flink分布式计算引擎FIink是一个开源的、分布式、高性能、高可用的大数据处理引擎,支持实时流Stream处理和batch批处理。可部署在各种
12、集群环境,例如kubemetes等,对各种大小的数据规模进行快速计算。1、数据量&吞吐量&延迟性Flink的流处理引擎只需要很少配置就能实现高吞吐率和低延迟。2、容错性Flink的容错机制是是非常轻量级的,允许系统拥有高吞吐率的同时还能提供强一致性的保障。3、内存管理Flink在JVM中实现了自己的内存管理。应用可以超出主内存的大小限制,并且承受更少的垃圾收集的开销。4、支持程序自动优化。避免特定情况下Shuffle,排序等昂贵操作,中间结果进行缓存。(九)原生开发(NatiVeAPP)技术原生开发(NatiVeAPP)是一个移动端主流开发技术,可访问手机所有功能(如GPS、摄像头等),可实现
13、功能最齐全;运行速度快、性能高,优秀的用户体验;支持大量图形和动画,不卡顿,反应快;兼容性高;比较快捷地使用设备端提供的接口,处理速度上有优势。1、提供最佳的用户体验,最优质的用户界面,最华丽的交互;2、针对不同平台提供不同体验;3、可节省带宽成本;4、可访问本地资源;5、打开速度更快。三、数据服务(一)数据采集服务通过数据采集服务和ETL工具结合可以对物联网感知数据(视频、卡口、电采)、技网侦警务数据(4G通信数据、上网数据)、电子政务数据(民航、铁路、住宿、医疗)、互联网社会数据(网约出行、寄递)等多维数据进行采集。(二)数据清洗服务通过数据清洗服务将采集到的多维数据,清洗,转换,过滤最终生成可用的基础数据和动态数据。(三)大数据服务通过大数据分析引擎,将一些基础数据和多维度动态度数据融合分析,二次加工成独特的业务数据。(四)数据服务数据采集完成后,或者大数据分析完成后,业务服务消费到采集的各类数据入库,挂载省厅公安大数据服务总线,为全警提供数据服务支撑。(五)业务接口服务业务接口服务提供标准JSe)N、ReStfUl等接口,通过接口形式将业务数据进行一系列逻辑处理,最终为超融合时空轨迹APP及其他业务系统提供数据服务。