列表

详情


论微服务架构及其应用
近年来,随着互联网行业的迅猛发展,公司或组织业务的不断扩张,需求的快速变化以及用户量的不断增加,传统的单块(Monolithic)软件架构面临着越来越多的挑战,已逐渐无法适应互联网时代对软件的要求。在这一背景下,微服务架构模式(Microservice Architecture Pattern)逐渐流行,它强调将单一业务功能开发成微服务的形式,每个微服务运行在一个进程中;采用HTTP等通用协议和轻量级API实现微服务之间的协作与通信。这些微服务可以使用不同的开发语言以及不同数据存储技术,能够通过自动化部署工具独立发布,并保持最低限制的集中式管理。

参考答案:


详细解析:

一、首先用400-600字的篇幅简要叙述作者参与开发的软件系统的概要和所担任的工作。
二、微服务的特点包括:
微服务的基本思想在于考虑围绕着业务领域组件来创建应用,这些就应用可独立地进行开发、管理和加速。在分散的组件中使用微服务云架构和平台使部署、管理和服务功能交付变得更加简单。
微服务是利用组织的服务投资组合,然后基于业务领域功能分解它们,在看到服务投资组合之前,它还是一个业务领域。
微服务这一概念出现于2012年,是因软件作者Martin Fowler而流行,他承认这并没有精确地定义出这一架构形式,虽然围绕业务能力、自动化部署、终端智能以及语言和数据的分散控制有一些常见的特性。
开源工作流平台“Imixs-Workflow”发布了一款新的微服务架构,作为工作流来管理解决方案。Imixs的微服务( Imixs-Microservice)提供了一个工作流封装成微服务架构。这一服务可以独立于其背后的技术,绑定到任何业务应用中去。这允许业务应用改变业务逻辑时,不用更改任何代码。这业务目标可以通过工作流模型控制。
Imixs的微服务是基于Imixs的工作流引擎( Imixs-Workflow Engine)的复杂功能构建的,它可以以多种不同的方法来控制业务数据。Imixs的微服务可以发送电子邮件推送消息、日志业务交换,还可以确保所有类型业务数据的安全。
Imixs的工作流模型可以给业务处理模型(Imixs-Workflow Modeller)中的每种状态单独的设计一个ACL。这许可了高度复杂的业务应用程序,并在每个流程实例周围驻起了安全层。

与单块架构相比,微服务架构具有如下特点:
(1)通过服务实现组件化。单个微服务实现简单,能够聚焦一个指定的业务功能或业务需求。
(2)功能明确,易于理解。微服务能够被一个开发人员理解、修改和维护,这样小团队能够更关注自己的工作成果,并降低沟通成本。
(3)围绕业务功能构建开发团队。采用微服务架构,可以围绕业务功能构建开发团队,这样更符合企业的分工与组织结构,便于管理。
(4)支持多种开发语言与多种平台。不同的微服务能使用不同的语言开发,运行在不同的操作系统平台上,通过标准的协议和数据格式进行交互与协作。
(5)离散化数据管理。在微服务架构中,无法创建或维护统一的数据模型或结构,全局数据模型将在不同的系统之间有所区别,需要进行数据模型的离散化管理。
(6)基础设施自动化。微服务强调以灵活的方式集成自动部署,通过持续集成工具实现基础设施自动化。

三、详细论述在项目中如何应用微服务架构进行开发的。

上一题