热门标签 | 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-数据写入流程解析


推荐阅读
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • PostgreSQL 最新动态 —— 2022年4月6日
    了解 PostgreSQL 社区的最新进展和技术分享 ... [详细]
  • 深入解析Spring Cloud微服务架构与分布式系统实战
    本文详细介绍了Spring Cloud在微服务架构和分布式系统中的应用,结合实际案例和最新技术,帮助读者全面掌握微服务的实现与优化。 ... [详细]
  • 深入解析:阿里实战 SpringCloud 微服务架构与应用
    本文将详细介绍 SpringCloud 在微服务架构中的应用,涵盖入门、实战和案例分析。通过丰富的代码示例和实际项目经验,帮助读者全面掌握 SpringCloud 的核心技术和最佳实践。 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文详细介绍了如何在 Android 中使用值动画(ValueAnimator)来动态调整 ImageView 的高度,并探讨了相关的关键属性和方法,包括图片填充后的高度、原始图片高度、动画变化因子以及布局重置等。 ... [详细]
  • 在寻找轻量级Ruby Web框架的过程中,您可能会遇到Sinatra和Ramaze。两者都以简洁、轻便著称,但它们之间存在一些关键区别。本文将探讨这些差异,并提供详细的分析,帮助您做出最佳选择。 ... [详细]
  • Spring Cloud学习指南:深入理解微服务架构
    本文介绍了微服务架构的基本概念及其在Spring Cloud中的实现。讨论了微服务架构的主要优势,如简化开发和维护、快速启动、灵活的技术栈选择以及按需扩展的能力。同时,也探讨了微服务架构面临的挑战,包括较高的运维要求、分布式系统的复杂性、接口调整的成本等问题。最后,文章提出了实施微服务时应遵循的设计原则。 ... [详细]
  • 前言无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上 ... [详细]
  • 本文详细介绍了ActivityManagerService (AMS) 的工作原理及其在Android系统中的重要角色。AMS作为system_server进程的一部分,在系统启动时加载,负责管理和协调应用程序中的Activity和服务(Service)。文章将通过具体的接口图和通信流程,帮助读者更好地理解AMS的工作机制。 ... [详细]
  • 本文作为SpringCloud Alibaba系列教程的第一部分,主要介绍如何搭建SpringCloud Alibaba的开发环境,帮助初学者快速入门。SpringCloud Alibaba是由阿里巴巴团队开源的一套微服务工具集,旨在简化分布式系统的构建过程。 ... [详细]
  • 容器与微服务基础:快速入门指南
    探索容器和微服务的基础知识,了解如何通过先进的应用性能管理(APM)工具提升监控效能。加入AppDynamics APM的导览,掌握容器与微服务实施及监控的最佳实践。 ... [详细]
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社区 版权所有