- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
Java微服务的发展技术和发展趋势
?
?
吴宇飞闵婕
【摘要】近年来,随着互联网技术的不断发展,各种新型技术被应用到社会多个领域。在这种情况下,用户在软件系统的应用中也有着更高的需求,这就需要技术研发人员对系统框架进行深层次的研究,以便使其兼顾灵活性适配需求与服务稳定集成这两方面。在这种背景下,Java微服务技术应运而生。此项技术拥有着极强的独立部署能力及独立进程,这就使其能够在运维智能化、可伸缩性、可高用性及分布式存储等方面有着天然的优势作用。基于此,本文主要对Java微服务技术应用及发展趋势进行简要探究。
【关键词】Java微服务;发展技术;发展趋势
中图分类号:TN94?????????????????文献标识码:A?????????????DOI:10.12246/j.issn.1673-0348.2021.17.040
在当前科技创新发展时代中,物联网及云计算等新兴技术得以不断发展,这就促使更多的软件系统被开发出来,从而有效的满足了用户各方面的需求,有效实现了对系统软件个性化的应用。目前,更多的软件开发企业正在逐渐邀请广大的用户及上下游企业等多数对象共同参与到软件开发与后期维护,这在一定程度上能够有效的促使软件功能得到完善,在软件的应用领域将逐渐扩大。自然,在软件应用领域的逐渐扩展当中也会出现很多新的问题出现,在软件系统中的组件及应用模块中出现了更加复杂的调用依赖问题。为对这些问题进行有效的解决,就要设计出合理的系统架构,不仅能够极大的满足了用户的使用需求,又能对软件资源进行合理的配置,从而在最大程度上实现各方面资源的有效利用。因此,以下对Java微服务技术的应用及其未来的发展进行简要分析。
1.传统微服务架构的劣势
1.1微服务概述
微服务架构是-种架构模式。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP协议的RESTfulAPI)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,應当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务.上下文,选择合适的语言、工具对其进行构建。
1.2微服务边界
在微服务实践落地过程中,难点在于模块之间界面的界定。在模块的划分过程中,服务设计容易出现过大或者过小的问题。微服务过大,会产生与单体应用系统类似的不足;微服务过小,大量服务的管理会增加运营的成本和难度。虽然服务是逐步被拆分出来的,但是随着业务的演进,企业需要重新审视服务划分是否合理。微服务边界的重新定义一般可以通过如下两种方式。
1.2.1领域驱动划分服务
它是指根据业务逻辑复杂度,而非数据量、并发量等相关复杂度划分服务。该模式适合业务逻辑复杂度足够高的场景。但领域驱动本身十分复杂,很多概念比较抽象,应用范围并不是特别广泛,所以当业务复杂度较低时,可以选择基于数据驱动划分服务,数据驱动更容易理解和上手。
1.2.2基于数据驱动划分服务
它是指通过自下而上的架构设计方法,结合需求分析,确定整体数据结构,根据表之间的关系划分服务。
1.3分布式应用的复杂性
当若干系统都处于运行状态并且相互调用组成一套业务系统时,此系统天然具有分布式属性。与传统的单体应用架构相比,分布式架构提高了系统的吞吐能力。随着业务量的逐渐增大,企业需要使用多台机器,采用分布式架构,垂直或是水平地拆分业务来应对这种大规模的应用场景。同时,分布式应用可以增加系统的可用性,对于企业关键性业务,系统需要满足高可用性,而分布式架构提高了系统的高可用性,系统的模块化提高了模块的重用度,同时提高了系统的拓展性以及开发和发布的速度。复杂性是分布式架构应用相比单体式应用的固有特性。架构设计更加复杂,特别是分布式服务,部署变得十分复杂。一个完整的业务系统需要部署多个服务,并且随着系统吞吐量的增大,响应时间会变长,技术多样化,服务变多,运维的复杂度也会提高。分布式应用测试和查错的复杂度增大,学习成本曲线也增大,各个微服务需要选择合适的通信协议进行消息传递,并完成进程间的通信。如此一来,需要处理消息传递中速度过慢或者不可用等局部系统失效问题,企业必须采用一套完整的机制保证各个服务正常运转。
1.4分区数据库架构
在分布式系统应用中,各个业务系统趋于服务化,与之对应的就是每个服务对应某一个或者多个数据库系统,即分区数据库架构。业务更新需要考虑分布式数据库的一致性,某一服务的数据操作可能会影响其他服务的数据,此时需要考虑数据的一致性。当服务的业务影响到非本服务对应的数据时,企业需要对不同服务所对应的
文档评论(0)