APP下载

微服务架构在容器云中的应用实践研究

2018-12-20张新成上海金桥信息股份有限公司

数码世界 2018年11期
关键词:开发人员选型容器

张新成 上海金桥信息股份有限公司

在系统开发领域,多年来,有关开发人员一直在探讨更好的系统构建技术,从而最大程度地实现对资源的有效利用,同时大大提升运行效率。微服务架构作为立足于“云”的新技术,其的发展是对传统服务器模式、基础云计算模式等平台形式的推陈出新。当前,有关人员对于微服务的评价呈现褒贬不一的情况,但不可否认的是,如果充分利用好微服务的自身优势,应用于容器云的实践,对于达成预期目标、提升行动效率具有极大的促进作用。

1 微服务架构的概念与模式

作为架构风格的一种,微服务架构并不能简单是为某项具体服务,其的组成离不开多个服务系统的综合运行。同时,微服务架构以“拆分”为其主要工作手段,鼓励基于某一特定原则对大系统进行细化拆分。某种程度上来说,微服务架构具有系统的综合性与构成的具体性。

在“拆分”的情境下,微服务架构每一项单个系统服务就具有了一定的独立性,其通常仅需重点聚焦于某一特定的、单一的业务功能,其运行更是存在一道“高墙”,将各个服务独立起来。这样的独立性为使用更加方便的轻量级通信创造了条件。基于微服务这些不同于传统系统开发技术的特点,开发人员需要解放思想,打破传统技术与开发方式的桎梏,尤其要注意立足于微服务开发的实际,坚持具体问题具体分析,从而实现更加完善、高效率与高质量并举的深度开发。

从功能上来说,微服务架构本身就具有多样性与层次性。由于单个服务时为独立个体,自然就承担起了不同的运行任务,发挥着多样化的功能。这一特点就决定了综合系统全局,不难发现各个功能片段的存在并不是完全互不干扰的,恰恰相反,某些功能片段回去系统的其他方面形成影响,但这种影响通常是积极的,主要表现为其“纠错”机制,通过阻碍部分系统片段运行从而及时有效地防止系统失灵的发生,对于已经发生的问题实现抑制与解决。当问题发生时,微服务架构的反应与信息处理能力相对较高,能在较短的时间内实现,这种情形在与容器云结合时更为凸显。

传统架构尤其注重模式的整体性,换言之,其是一个单一的“块”。在这种情境下,开发者可以利用相当的编程框架完成“流水线式”的开发、测试、调试等工作,其所需的复杂模型可以通过智能化的工具分解生成,可以减少消费者的时间投入,精度也得到了提高。但在业务不断扩张的背景下,单一的“块”式架构也显得“力不从心”,其对于新变化的反应程度较低,且自身开发周期较长,难以满足急剧变化的应用开发形势。与传统服务架构有明显不同的微服务架构的出发点是架构层面,通过上述的“拆分”将复杂任务分解开来,系统开发者可以通过精确、合理的部署,完成高精度、高效率、程度可控的开发工作。

2 应用微服务架构的优势分析

2.1 选型的灵活性

微服务架构的模式有效避免了选型的僵化,技术选型具有了更加广阔的空间。作为技术选型的主体,开发设计人员可以更大程度上考虑开发需要及当前技术水平的特点,同时参考行业内经验及发展实际,对于技术选型予以灵活、合理的处理。通常来说,微服务架构打破了复杂、困难的传统模式,对于技术开发人员来说工作相对较为简单,因此在开发及换代升级的过程中,开发人员无需面临较大的风险压力,即使是全面重构也相对灵活。这一特点大大便利的开发人员的工作。

2.2 复杂度的可控性

合理的“拆分”与综合运用是微服务架构的主题,在这种情境中,单个服务因承担职责的单一与独立,其对于整体服务的处理通常是一个“吸收-分解-再独立”、生成新服务的完整链条。其产生对于整体的影响性较小,在“拆分”的情境下各个服务可以更好地实现对各自功能的实现及模块整体的升级促进。与此同时,这一“拆分”过程并不意味着创造更为复杂、多样的环境,恰恰相反,井然有序、独立性强的服务避免了更复杂问题的产生,是一个将抽象问题具体化、复杂问题简单化的过程。开发人员可以综合利用人工技术,对于模块水平予以再强化,其维护与运行都较为简单。

2.3 独立的部署性

“牵一发而动全身”,这一问题在传统架构中常常困扰开发人员,但微服务打破了这种局限。各个服务的独立性可以帮助开发人员进行具体化、独立化的合理部署,工作程序大大简化,工作精度也随之提高。在面对架构故障时,也不用对对整个系统进行自上而下、由内到外的全面排查,只需通过对单个服务模块的处理,就可最快速度地解决问题,对于提升工作效率、节约资源耗费成本具有积极作用。

2.4 较高的容错性

微服务架构的容错性来源于上述的独立部署性。系统作为一个复杂个体,其组成模块的故障往往会对其他部分的运行造成威胁,进而升级为全局性的阻碍。微服务架构的引入可以有效避免这种问题,单一模块的独立故障对于其他部分没有影响,系统的全局性与稳定性得到了保障,在此基础上较高的容错性应运而生。

2.5 良好的拓展性

微服务架构的独立部署性决定了其具体模块的构建除了具有独立、灵活的特点之外,更在系统扩展层面具有广阔的发展空间,不同模块的扩展可以充分结合本模块的特点,根据自身需求决定扩展的广度。在这种扩展下,单个服务之间的干扰性较弱,因此,各个服务的扩展形式及完成程度相对灵活。这种灵活、自由的情景可以促使开发人员针对各个独立服务开拓更多元化的拓展项目,将系统的整体性风险降到最低,同时最大程度地增强系统的多元化与创造性。

3 微服务架构在容器云中的应用实践

微服务架构与容器云的有机结合是未来技术发展的必然趋势,在这种应用中,微服务架构的优势可以得到很大程度的发挥,当然,在实际操作过程中也存在一定的技术复杂性与困难性。但是,开发人员必须对这一应用拥有清醒的认识,即容器云本身轻量化的趋向可以有效迎合微服务架构的优势。作为轻量化、容量巨大的载体,容器云的承载可以为微服务架构的顺畅运行提供足够的空间,在此基础上的代码传输及组织架构就相对容易。除了技术方面的优势化,微服务架构与容器云的结合更符合创新驱动发展战略的时代要求,在发挥资源的利用效率、避免产能过剩方面具有实践意义,其也为互联网时代共享化、便捷化的平台效果创造了实际案例。

4 结束语

作为创新性的设计方式,微服务架构有效地打破了传统开发形式的桎梏,对于便利开发人员工作、增强系统的稳定性与创造性具有优秀的促进作用。其在容器云中的应用具有较高的实践价值,也必将迎来更深层次、更高广度的开发机遇。开发人员把握这一技术特点,探索微服务架构应用于容器云的完善与发展,符合时代发展的必然趋势。

猜你喜欢

开发人员选型容器
不锈钢二十辊冷轧机组横切剪的选型计算
高层建筑结构选型及优化设计
关于高层建筑结构选型设计的初步探讨
复杂条件下的深基坑支护设计选型研究
难以置信的事情
Semtech发布LoRa Basics 以加速物联网应用
液体对容器底及容器对桌面的压力和压强
取米
后悔了?教你隐藏开发人员选项
三星SMI扩展Java论坛 开发人员可用母语