微服务架构崛起 能否成为下一代云计算?

复杂度可控、灵活可扩展与独立部署 IT架构一直从all in one到近两年热门的微服务架构,技术不断进步,微服务架构模式(Microservice Architect Pattern)开始被越来越多的企业所接受,那么究竟什么是微服务架构?微服务架构模式有什么优点呢?

从整个IT技术发展趋势来看,我们可以看到无论是硬件、还是软件、还是基础架构都在朝着轻量化的方向发展。云计算的发展更让资源的调控灵活性和部署速度都有所提高,微服务就是一项在云中部署应用和服务的技术。采用化整为零的概念,将复杂的IT部署,通过功能化、原子化分解,形成一种松散耦合的组件,让其更容易升级和扩展。 ThoughtWorks的首席科学家,马丁·福勒先生对微服务做出了这样的定义:“微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。”

微服务架构是一项在云中部署应用和服务的技

总的来说,可以将微服务架构的优势归结为以下几点: 1、复杂度可控 在all in one的状态下,容易造成盲人摸象的状态,造成不必要的数据孤岛。而微服务架构通过分解单体式应用为多个服务方法,让复杂性可控。为了实现同一功能,应用被分解为多个可管理的分支或服务,通过微服务架构模式,让复杂的功能,通过模块化的方式呈现出来,让单个服务更容易开发和维护。

2、灵活可扩展 灵活性是基于微服务架构模式使得每个服务独立扩展。微服务架构下,技术选型是去中心化的。在这种模式下,每个团队都可以根据自身服务的需求和行业发展状况做出自己的判断,选择适合的技术栈。 3、独立部署 由于微服务具备独立的运行进程,所以每个微服务也可以独立部署。这样,当某个微服务发生变更时无需编译、部署整个应用,让发布更高效,右下缩短应用交付周期。UI团队可以采用AB测试,快速的部署变化。微服务架构模式使得持续化部署成为可能。 开发针对性更强与降低TCO 4、开发针对性更强 众所周知,在单块架构系统下,新人的培养周期很长,需要花费大量时间了解本地开发环境。而微服务架构模式使得每个服务独立扩展,开发运维人员也不需要在花费一个月的时间去熟悉本地环境,而只需要了解自己所处的模块状态即可。

John Allspaw与Adrian Cockcroft争论微服务

5、降低TCO 在传统IT架构中,即单块架构系统中,是以技术分层,譬如逻辑层、数据层等。但随着市场需求的不断变化,用户需求住家个性化,开发周期需要越来越短,产品的生命周期也开始变短,单块架构系统开始面临挑战。无论是开发还是维护成本太高。 相较而言,微服务架构模式下,当某一组件发生故障时,不会发现单块架构系统的进程内扩散等弊端,故障会被隔离在单个服务中。

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2016-08-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏后端技术探索

从既有系统到微服务架构

微服务近年来可谓炙手可热,合理的使用微服务架构可以解耦系统、提供更好的软件伸缩性以及提高组织的敏捷性。然而现实中较少有项目一开始就会选择使用微服务架构,绝大多数...

1362
来自专栏京东技术

移动测试避坑指南(第一篇):从流程到技术的知识概要

2034
来自专栏Golang语言社区

微服务架构崛起 能否成为下一代云计算?

复杂度可控、灵活可扩展与独立部署 IT架构一直从all in one到近两年热门的微服务架构,技术不断进步,微服务架构模式(Microservice Arch...

3634
来自专栏知晓程序

你在好友眼中是什么样?快用它来问一问

今天,知晓程序(zxcx0101)推荐的就是一款颇具「创意」的群工具小程序——「小问卷」。它除了有正经的「创建投票」和「发布活动」功能之外,还有一个不正经的「趣...

1172
来自专栏养码场

《王者荣耀》技术总监复盘回炉历程:没跨过这三座大山,就是另一款MOBA霸占市场了

来听听邓君站在技术视角对《王者荣耀》内部的解读:《王者荣耀》如何从从立项之初经历的惨淡时期到华丽的翻盘;它实际原理、问题和优化的思路,和现在见到大部分不同的技术...

1372
来自专栏CSDN技术头条

世上没有完美的架构

微服务架构的技术体系、社区目前已经越来越成熟。在最初系统架构的搭建,或者当现有架构已到达瓶颈需要进行架构演进时,很多架构师、运维工程师会考虑是否需要搭建微服务架...

1607
来自专栏ThoughtWorks

微服务 | Martin Fowler

“微服务架构”这一术语在前几年横空出世,用于描述这样一种特定的软件设计方法,即以若干组可独立部署的服务的方式进行软件应用系统的设计。尽管这种架构风格尚无明确的定...

4296
来自专栏程序你好

软件架构30条原则

原则 1: KISS (Keep it simple, stupid) “指设计时要坚持简约原则,避免不必要的复杂化。” 其思想是使用最简单的解决方案来完成这项...

1152
来自专栏大数据文摘

Facebook数据被滥用?8个视频案例教你用好Facebook Graph API

1462
来自专栏Spark学习技巧

关于ETL那些事情

ETL这个概念也很久了,但是真正的进入大家的视野估计还是由于大数据。由于从15年至今,其实整个大数据领域都处于做数据仓库,然后简单生成报表这个层面,ETL(ET...

3705

扫码关注云+社区

领取腾讯云代金券