课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在进行服务器开发和软件架构的时候,除了使用分布式以外,还有关于微服务的一些技术的使用。今天,我们就一起来了解一下,微服务架构的概念和特征。
过去几年来,“微服务架构”这个术语出现了,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,端点智能以及语言和数据的分散控制等方面存在着某些共同特征。
“微服务” - 在软件架构拥挤的街道上又一个新名词。尽管我们的自然倾向是以轻蔑的眼光来传递这样的东西,但这些术语描述了一种我们发现越来越吸引人的软件系统风格。我们已经看到许多项目在过去几年中都采用了这种风格,迄今为止的结果是积极的,因此对于我们的许多同事来说,这正成为构建企业应用程序的默认风格。可悲的是,没有太多的信息概述了微服务的风格以及如何去做。
简而言之,微服务架构风格是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资源的API)进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署。这些服务的集中化管理已经是少的,它们可以用不同的编程语言编写,并使用不同的数据存储技术。
微服务体系结构的特征
我们不能说对微服务架构风格有一个正式的定义,但是我们可以尝试描述我们所看到的与“微服务”标签相符的架构的共同特征。与任何概述共同特征的定义一样,并不是所有的微服务架构都具有所有的特征,但是我们确实期望大多数微服务架构具有大多数特征。虽然我们的作者一直是这个相当松散的社区的活跃成员,但我们的目的是尝试描述我们在自己的工作中看到的东西,以及我们所知道的团队的类似努力。特别地,我们并没有给出一些符合要求的定义。
通过服务(Sevice)实现组件化
只要我们参与过软件行业,这就存在一种期盼:通过将组件整合在一起来构建系统,这与我们在现实世界中看待事物的方式非常相似。在过去的几十年中,我们已经见证了大部分语言平台中常见库的大量摘要所取得的巨大进步。
在谈及组件时,我们遇到了对组件构成定义的难题。我们的定义是,组件是可独立更换和升级的软件单元。
根据服务能力进行管理
当将大型应用程序拆分为不同组件时,通常的管理侧重于技术层,由技术层引领UI团队、服务器端逻辑团队和数据库团队的工作。当团队的这种生产线被隔离时,即使是简单的改变也会引起跨团队的项目耗时耗力。聪明的团队将围绕这一点进行优化——仅把逻辑强加到他们所能触及的任何方式中。
译者:xmeng、 Tocy、雪落无痕xdj、imqipan
节选:开源翻译
【免责声明】本文转载自网络,著作权属原创作者所有。经检索无法确定原创作者,故未标明作者。我们分享此文出于传播更多资讯之目的。如涉著作权事宜请联系小编更正!