热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

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

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

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

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

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

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

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

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

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

单体架构 VS 微服务架构

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

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

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

版权声明:本文素材来源于网易云社区,转载此文出于传递更多信息之目的,如有侵权,请联系小编删除。


推荐阅读
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • PostgreSQL 最新动态 —— 2022年4月6日
    了解 PostgreSQL 社区的最新进展和技术分享 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • 脑机接口(BCI)技术正逐步将科幻变为现实,从帮助听障人士恢复听力到使瘫痪者重新站立,甚至可能将多年的学习过程压缩至瞬间。本文探讨了这一前沿技术的现状、挑战及其未来前景。 ... [详细]
  • 本文探讨了Java编程的核心要素,特别是其面向对象的特性,并详细介绍了Java虚拟机、类装载器体系结构、Java类文件和Java API等关键技术。这些技术使得Java成为一种功能强大且易于使用的编程语言。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文介绍了如何在React和React Native项目中使用JavaScript进行日期格式化,提供了获取近7天、近半年及近一年日期的具体实现方法。 ... [详细]
author-avatar
xxyyxx1952
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有