繁体   English   中英

什么是SOA中的微服务

[英]What's exactly a microservice in SOA

我一直试图了解一些SOA原则,并且偶然发现了描述SOA中微服务的本页:

http://soapatterns.org/design_patterns/micro_task_abstraction

解决方案:使用微服务模型将具有特殊处理和部署需求的非不可知逻辑的各个单元分离,并抽象到微服务层中,在该微服务层中,架构自由地定制环境以支持特殊服务处理和部署需求。

这些专门的处理和部署要求到底是什么?

SOA中的微服务和任务服务之间的主要区别是什么? 因为它们在我看来都是不可知论的,并且可以与其他实体和公用事业服务组合在一起。

面向Achitecture(SOA)服务与定义的服务, 什么样的服务是为了做设计,它们的接口 ,治理,服务生命周期,运营SLA和“使用协议”(最后这两个导致一些非功能性需求)酒店预订等等。

可以将微服务视为一种开发和部署方法。 如果正确定义了SOA(您的接口是干净的,采用适当的粒度设计,松散耦合),则根据技术平台,您可以更轻松地应用微服务方法。 定义服务后,您的实现注意事项将包括基础结构,应用程序服务器,构建和部署机制。 微服务部署模型的关键定义特征是,尽可能多的“堆栈”是独立包含在单个可部署单元 (可以称为容器 )中的。

使用Java示例,至少微服务可能是在自己的独立JVM(捆绑的库,应用程序/ Web服务器)中运行的一项服务或功能(暴露为Rest或SOAP),您可以将其称为容器( 此处示例) )。 与“传统”方法相比,您可以让一个团队来管理应用程序服务器,在该服务器上可以部署多个服务或功能。 主要好处是您可以避免相互冲突的依赖关系,您的环境完全在您的控制之中(有效地是几行代码),并且您的服务可能具有更可预测的性能,因为它不受竞争相同资源的其他服务(JVM线程,数据)的干扰资料来源)。

专用的容器管理工具(例如docker)和关联的脚本使您可以将环境中所需的任何必需配置组合在一起。


Update 16 / Jan / 2018还请注意本段中关于SOA和微服务作为概念的区别 我将其翻译为:人们没有正确执行SOA,因此需要一个新的流行词。 在一定程度上是正确的。 但是,您也可以将两者视为互补的概念-SOA的设计更加繁重,而微服务则更注重于部署。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM