热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

什么是微服务架构,该从哪些方面深入理解?

欢迎访问网易云社区,了解更多网易技术产品运营经验。简单地说,微服务架构就是以业务域或业务功能为边界,将一个大而全的应用拆分为可以独立开发,独立部署,独立测试,独立运行的一组小的应用,并且使用轻量级

欢迎访问网易云社区,了解更多网易技术产品运营经验。


简单地说,微服务架构就是以业务域或业务功能为边界,将一个大而全的应用拆分为可以独立开发,独立部署,独立测试,独立运行的一组小的应用,并且使用轻量级,通用的机制在这组应用间进行通信。



拿着显微镜看微服务架构,品读 Martin Fowler 的定义,可能出不来,不妨用望远镜来看一看——如同黄仁宇喜欢从数千年历史的纵深来论述历史的发展,如同唐德刚提出历史三峡理论(虽然此类史识在史学界尚有争议,但方法可以借鉴),我们也可以从信息技术深化应用、架构长期演进的角度来认识微服务架构。


从宏观的层次来说,数字经济与互联网、云计算、大数据相互促进,企业数字化转型升级离不开云计算。技术的发展总是伴随着经济的改进,数字经济是继农业经济、工业经济之后全新的社会经济发展形态,也是世界经济创新发展的主流模式。数字经济以云为核心技术引擎,以数据为关键生产要素。数字经济时代,互联网、云计算都变成了社会经济的基础设施,变成了业务的一部分,IT 架构、数据架构、应用架构全面改变。(点击下载 IDC 数字经济相关报告)


IDC 全球 IT 产业预测,到 2021 年,全球至少 50% 的 GDP 将以数字化的方式实现,数字技术将全面渗透各个行业,并实现跨界融合和倍增创新,驱动世界经济向以数字经济为重要内容的经济活动加速转变。


来源:中国信息化百人会,2018

从中观的角度来说,云原生(Cloud Native)技术是应用架构进化的方向,是企业发挥云计算价值(如按需供给、高弹性、强PaaS)的必由之路。业务上云并非削足适履,不过如果我们以瘦为美,而本身虚胖,相同款式的衣服,想要穿在模特身上的那种效果,就必须适当地减肥(改造业务平台)了,当然我们也可以不在乎体重、形态,如此面对拳击、举重这类项目就比较难受了。减肥不是一朝一夕的事情,云原生也不是从天而降的,以网易为例,应用架构以及基础设施也是随着业务规模的不断扩大而演进的,团队不断解决暴露出来的各种问题,大致经历了工程化、自动化、服务化三个阶段。了解更多相关知识可以参考《云原生应用架构实践》(网易云基础服务架构团队著)。


从微观的角度来说,云原生技术包括微服务架构、容器和 DevOps 等核心内容。类似人类社会的专业化分工协作,微服务根据业务模块划分相互独立的服务种类,让业务可以做到又快又好。微服务基本原则是高内聚、低耦合,也有些类似于传统软件的组件,当然服务划分是一个比较复杂的问题。IDC 预测,在超过一半的全球 2000 强企业中,平均 1/3 的数字化服务交互将来自 API 开放生态系统。如果不拥抱微服务,很难想象如何实现这样的盛况有多麻烦。关于微服务、DevOps 和容器的关系以及容器技术的选择,可以参考网易云架构师这篇文章:为什么 kubernetes 天然适合微服务


单体架构 VS 微服务架构

故而,如果有传统开发经验,可以认为微服务就是传统组件技术在云端以插件化形式的自然映射 ;而从架构演进的角度,微服务的本质,是实现 DevOps、实现云原生应用架构、促进数字化转型升级的工具。


微服务技术特点决定了系统的复杂性,搞微服务不一定用容器技术,但不管服务商还是企业客户,玩过的都承认,容器是微服务的最佳搭档。要玩好微服务,微服务平台需要的不仅仅是无侵入的服务治理能力,容器、CI/CD、APM、测试等服务也是必要的,这也是网易云轻舟微服务的产品设计思路。


相关文章:
【推荐】 HBase-数据写入流程解析


推荐阅读
  • 云原生SRE
    序言年底了,没有分手的朋友的赶紧分了,所谓新年新气象,年年不重样。去留无意,望看风卷残云。。。运维不会消失,但 ... [详细]
  • 寻求更强大的身份和访问管理(IAM)平台的企业正在转向云,并接受身份即服务(IDaaS)的灵活性。要为IAM选择正确的场外解决方案,业务管理人员和IT专业人员必须在实施之前评估安全 ... [详细]
  • 博客_2018年博客总结
    本文由编程笔记#小编为大家整理,主要介绍了2018年博客总结相关的知识,希望对你有一定的参考价值。前言     ... [详细]
  • 1:SpringCloud、Dubbo等微服务主流开发框架盛行,SpringCloud也被开发者认为是最好的开发框架;2:Docker:容器和微服务相辅相成,两大技术成熟的时间点非常契合。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 熟练掌握Spring Cloud,终于成为Java工程师的面试门槛 ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
  • 服务网关与流量网关
    一、为什么需要服务网关1、什么是服务网关传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关& ... [详细]
  • 提供:ZStack云计算原创2016-12-26张鑫讲师介绍张鑫ZStack总架构师、联合创始人《系统虚拟化》主要作者,曾任职Intel开源软件技术中心 ... [详细]
  • PPT资料下载:华为如何实施数字化转型
    转载自公众号:企业架构EA之家关注公众号,回复:华为数字化,获取下载地址一个传统企业为什么要做数字化转型?数 ... [详细]
  • 2021OpenInfra年度报告摘要:OpenInfra在中国
    中国OpenInfra社区在多个开源项目中非常活跃,包括OpenStack、KataContainers和OpenInfra实Labs。2021年,这些 ... [详细]
  • 微服务下的几个难点问题及常见的解决方案
    原文链接:https:cloud.tencent.comdevelopernews1362051背景介绍1.1幂等性定义数学定义在数学里,幂等有 ... [详细]
  • 黄东旭: 关于基础软件产品价值的思考
    黄东旭:关于基础软件产品价值的思考-好久没写东西了,正好趁着春节的节后综合症发作写写文章热身一下,记得前几年偶尔会写一些关于TiDB产品功能解读的文章,TiDB5.0发了那么长时间 ... [详细]
  • 【限时免费】       架构和运维技术高峰论坛·成都站来啦~~     报名请点击左下角 阅读原文运维和架构系列论坛,由IT趣学社主办,以目前最火热的运维技术体系为核心,邀请业界 ... [详细]
author-avatar
不点包子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有