软考高级架构设计师论文参考
首发公众号:全副武装大师兄,?系列文章、相关资料从公众号获取。
《云原生架构》是备考论文的其中一篇,简单讲一下行文思路,论文只花了一个月时间仓促准备,论文主体部分来自一位网友的慷慨分享(详见参考资料)。因此,我也把从他山之石学到的内容加上我自己的认识,分享给大家,许多不成熟之处让大家见笑。
摘要
2021年3月,我单位联合某省公安厅研发了《数据脱敏管理系统》。系统以数据脱敏为核心,分为资源模块、敏感属性模块、脱敏规则模块、脱敏模块、权限模块、审计模块,解决了数据在其生命周期的传输、存储、使用、共享环节的安全问题。在项目中,我担任系统架构设计师,负责架构设计工作。
摘要第一段主要讲开发了什么系统, 该系统有哪些模块,解决了什么问题,在项目中承担的角色。这一段话要精心准备,能够复用在架构任何论文上。
本文以该系统为例,论述了云原生架构在系统中的应用。系统使用spring cloud开发,分为前端Web服务、平台支撑服务、业务服务三部分。前端Web服务由负载均衡和服务集群组成;平台支撑服务以Eureka为中心,包括api网关、服务注册中心、监控平台等构成,实现基础服务框架;业务服务划分为多个微服务,基于Docker容器,实现具体业务。最终系统成功上线,获得用户一致好评。
摘要第二段需要扣题,内容要实。本文以该系统/项目为例,主要论述了xxx的应用(首先点题)。系统基于xxx/使用xxx开发,分为xx、xx、xx三部分(对应正文的主要三段)。接下来逐一对每个部分主要内容简要说明,能干什么,最后讲效果。
正文
笔者在一个专为政企建设信息系统的集成商任职,过往成果有《某省厅财务内网系统》等。2021年3月,我单位联合某省厅研发了《数据脱敏管理系统》项目(以下简称“系统”),解决了数据在其生命周期的传输、存储、使用、共享环节的安全问题,保护了数据安全性和可用性。系统以数据脱敏为核心,主要分为资源模块、敏感属性模块、脱敏规则模块、权限模块、审计模块等。资源模块主要负责识别和维护所有需要进行数据脱敏的数据源,支持用户根据需求接入和导出数据至不同数据源(如oracle、flink、spark、文件等),并负责将抽取的数据发送到敏感属性模块进行属性分析;敏感属性模块负责自动发现数据中的敏感字段,支持用户自定义敏感属性等;脱敏规则模块根据不同敏感属性,灵活组合不同脱敏策略,并做好算法版本控制;数据脱敏模块按用户指定或预定义脱敏策略,对数据实施可逆、不可逆脱敏;权限模块主要是系统安全管理员对省市县三级用户实行权限控制;审计模块用于安全审计员对系统操作的监督核查。在这个项目中,我担任系统架构师的职务,主要负责系统的架构设计相关工作。
本段第一句话说一下作者背景、过往研发的系统;第二句话讲本系统解决了一个什么问题。后面的内容是对摘要第一段展开阐述,描述每个模块主要干什么,模块与模块之间如果能够体现某种关联则更好,例如,资源模块抽取的数据发送到敏感属性模块进行分析。这一段内容,能够复用到任何论文上。
系统需要支撑省厅所辖工作人员对数据的脱敏,为保证系统的性能,将系统部署在政务云上显得尤为重要。传统购买服务器部署的方式,需要准备一定规模的机器,如果业务存在激增的情况,重新调整困难,很难进行扩展,因为系统一开始就是面向云原生进行架构设计的。常见的云原生架构模式有:Serverless模式、存储计算分离模式、分布式事务模式、可观测架构、事件驱动架构等。1.服务化架构模式。它的典型模式是微服务和小服务模式,通过服务化架构,把代码模块关系和部署关系进行分离,每个接口可以部署不同数量的实例,单独扩缩容;2.Mesh化架构模式。把微服务间的熔断、限流、安全等通用功能都放到了Mesh进程,下沉到了平台基础设施;3.Serverless模式。无服务器模式将整个应用都委托给云,使开发者专注业务逻辑设计与实现;4.存储计算分离模式。将数据存储采用云服务来保存,实现存储和计算分离;5.分布式事务模式。主要包括:XA模式、TCC模式、SAGA模式等;6.可观测架构。可观测架构提供了对分布式链路的快速关联分析;7.事件驱动架构。用于服务之间的解耦。
这一段主要是对论文的第二小问的回答,每个论文题目都会问一个具体的知识点,需要进行回答,例如2021年论文题目《论系统安全架构设计及其应用》的第二小问:详细论述安全架构设计中鉴别框架和访问控制框架设计的内容,并论述鉴别和访问控制所面临的主要威胁,并说明其危害。
系统基于spring cloud微服务框架开发,将平台服务分为三部分,分别为前端web服务、平台支撑服务、业务服务。下面对这三类服务展开说明。
过渡段,引出主要论点。
-
前端web服务。前端web服务主要提供用户使用界面,分为nginx负载均衡服务器、前端网站nginx集群。当用户通过网络访问系统时,首先会访问到前置的nginx负载均衡服务器,负载均衡服务器将请求转发到前端网站的nginx集群,前端网站通过发起http请求和后端交互,即通过Ajax来调用后端的RestAPI接口。用户访问网站通过前置的nginx负载均衡服务器来转发到前端网站集群,以起到将用户请求进行分流的作用。当前端网站集群中的部分服务发生故障时,系统仍可正常地对外提供服务。前置nginx负载均衡服务器使用软件反向代理的方式来实现负载均衡,部署为路由模式,系统内部网络与外部网络分属于不同的逻辑网络,以实现系统内部与外部网络的隔离,保护系统安全。在负载均衡算法选择上,为了实现连接最优分配,使用了最小连接法,每当用户请求来临时,任务分发单元会将任务平滑分给最小连接数的节点,这样的架构以廉价、透明的方式扩展了服务器和网络带宽,能够极大提升系统的并发量,同时保证前端整体的稳定性和可靠性。
-
平台支撑服务。平台支撑服务是实现后端微服务的基础框架,包括api网关、服务注册中心、服务监控组件等。api网关收到请求后,从服务注册中心根据请求获取对应服务配置,再通过服务配置调用已注册的服务,当后端服务存在多个实例时,采取负载均衡方式调用。服务注册中心采用Spring Cloud的Eureka组件实现,提供服务注册、发现功能,包括服务注册中心、服务提供者和服务消费者。Api网关、所有业务服务,以及服务监控平台组件都注册到服务注册中心。各服务通过服务注册中心两两相互注册、api网关向服务注册中心注册多实例等方式,实现后端整体服务的高可靠性。服务监控平台通过注册到服务注册中心,获取所有注册到服务注册中心的后端业务服务,从而监控到所有后端业务服务的运行状态信息,最后收集并展示整个微服务系统的运行状态,进一步保证整个后端的服务质量。
-
业务服务。业务服务按照功能模块,相应划分为资源服务、敏感属性服务、脱敏服务、权限服务、审计服务等。各服务单独打包,基于Docker容器,连同运行环境一起封装,根据实际情况在政务云部署多个实例,服务启动后将自身信息注册到服务注册中心。服务间协同工作,通过松耦合的服务发现机制,动态调用对方Rest API接口。对于压力较大的服务,如脱敏服务、敏感属性服务等,部署为多实例集群。以可逆脱敏功能为例。用户进行脱敏时,脱敏服务检验脱敏信息通过,调用敏感属性服务、脱敏规则服务,由脱敏服务组成脱敏详细信息,返回前端显示。用户提交脱敏后,脱敏服务将数据发给敏感属性服务识别脱敏属性,并将数据拆分后送入MQ队列排队,然后由负载均衡机制,依次将队列中待脱敏的数据分发给脱敏服务脱敏、密钥保存/密码本保存、评估后,脱敏服务将统计评估信息向前端显示。在此期间服务请求者无需了解其他服务对数据如何具体处理和分析。
论点一般是三段,不要超过三段,建议不要列出条目式的一二三,直接一个小标题,然后展开讲解。
系统自2022年3月上线已允许一年有余,在数据生命周期的存储、传输、使用和共享环节投入使用,截至目前已脱敏3万余次,数据量达到103T,获得了单位同事领导和客户的一致好评。在开发和试运行过程中,主要遇到了敏感属性服务大量宕机问题。当部分客户短时间内提交了大量数据且需要自动识别敏感属性时,导致敏感属性服务首先出现识别慢、卡顿现象,再到后面大部分宕机。我们引入心跳机制、快照回滚机制,并基于机器学习技术的预判断机制,使敏感属性服务宕机时能够在10秒内自动重置恢复运行,最终解决了该问题。
简要说明上线运行的时间,截至目前取得的成果,在运行过程中遇到的主要问题,以及解决办法,这段用来凑字数,字数不够多写点,字数够内容实,多写点。
实践证明,系统能够顺利上线,并且稳定运行,与系统采用了合适的架构设计密不可分。经过这次云原生架构的方法和实施效果后,我也看到了自己身上的不足之处,在未来还会不断更新知识,完善本系统在各方面的设计,使整个系统更够更好用,更有效地服务客户。
参考资料
https://zhuanlan.zhihu.com/p/337973885
首发公众号:全副武装大师兄,?系列文章、相关资料从公众号获取。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!