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

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

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

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

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

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

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

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

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

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

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

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

单体架构 VS 微服务架构

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

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

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

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


推荐阅读
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
  • Spring Cloud 学习指南:初学者入门篇
    Spring Cloud 学习指南:初学者入门篇 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 汽车电子架构与CAN网络基础解析——鉴源实验室专业解读 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 在PHP中实现腾讯云接口签名,以完成人脸核身功能的对接与签名配置时,需要注意将文档中的POST请求改为GET请求。具体步骤包括:使用你的`secretKey`生成签名字符串`$srcStr`,格式为`GET faceid.tencentcloudapi.com?`,确保参数正确拼接,避免因请求方法错误导致的签名问题。此外,还需关注API的其他参数要求,确保请求的完整性和安全性。 ... [详细]
  • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 基址获取与驱动开发:内核中提取ntoskrnl模块的基地址方法解析
    基址获取与驱动开发:内核中提取ntoskrnl模块的基地址方法解析 ... [详细]
  • 机顶盒,即数字电视机顶盒(Digital TV Set-Top Box,简称STB),是一种放置在电视机旁的设备。它主要用于将数字信号转换为电视能够识别的模拟信号,从而实现高质量的视频和音频播放。机顶盒不仅支持基本的电视节目接收功能,还具备多种增值服务,如互动点播、网络浏览等。随着技术的发展,现代机顶盒集成了更多的智能功能,成为家庭娱乐的重要组成部分。 ... [详细]
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社区 版权所有