【微服务】什么是微服务?-- 全面了解微服务架构

这篇具有很好参考价值的文章主要介绍了【微服务】什么是微服务?-- 全面了解微服务架构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

What is Microservices — Edureka

您有没有想过,什么是微服务以及扩展行业如何与它们集成,同时构建应用程序以满足客户的期望?


要了解什么是微服务,您必须了解如何将单体应用程序分解为独立打包和部署的小型微型应用程序。本文将让您清楚了解开发人员如何使用微服务根据需要扩展其应用程序。


在本文中,您将了解以下内容:

  • 为什么是微服务?

  • 什么是微服务?

  • 微服务架构的特点

  • 微服务架构的优势

  • 设计微服务的最佳实践

  • 使用微服务的公司

为什么是微服务?


现在,在我告诉你微服务之前,让我们看看在微服务之前流行的架构,即单体架构。
用外行的话来说,你可以说它类似于一个大容器,其中应用程序的所有软件组件都组装在一起并紧密打包。
列出了单体架构的挑战:

【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

Challenges of Monolithic Architecture — What is Microservices

不灵活——无法使用不同的技术构建单体应用程序
不可靠——即使系统的一个功能不起作用,那么整个系统也不起作用
不可扩展——应用程序无法轻松扩展,因为每次需要更新应用程序时,都必须重新构建整个系统
阻碍持续开发——应用程序的许多功能不能同时构建和部署
开发缓慢——单体应用程序的开发需要大量时间来构建,因为每个特性都必须一个接一个地构建
不适合复杂应用程序——复杂应用程序的特性具有紧密耦合的依赖关系


上述挑战是导致微服务发展的主要原因。

什么是微服务?


微服务,又名微服务架构,是一种架构风格,它将应用程序构建为围绕业务领域建模的小型自治服务的集合。

【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

Microservices Representation —What Is Microservices

在微服务架构中,每个服务都是自包含的,并且实现了单一的业务能力。

传统架构与微服务的区别


将电子商务应用程序视为一个用例,以了解它们之间的区别。

我们在上图中观察到的主要区别在于,所有功能最初都在共享单个数据库的单个实例下。但是,对于微服务,每个特性都被分配了一个不同的微服务,处理它们自己的数据,并执行不同的功能。
现在,让我们通过查看其架构来更多地了解微服务。参考下图:

【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

Differences Between Monolithic Architecture and Microservices - What is Microservices

微服务架构

【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

Microservice Architecture - What is Microservices

  • 来自不同设备的不同客户端尝试使用不同的服务,例如搜索、构建、配置和其他管理功能。

  • 所有服务都根据其域和功能进行分离,并进一步分配给各个微服务。

  • 这些微服务有自己的负载均衡器和执行环境来执行它们的功能,同时在自己的数据库中捕获数据。

  • 所有微服务都通过无状态服务器(REST 或消息总线)相互通信。

  • 微服务借助服务发现了解其通信路径,并执行自动化、监控等操作功能。

  • 然后,微服务执行的所有功能都通过 API 网关与客户端通信。

  • 所有内部点都从 API 网关连接。因此,任何连接到 API 网关的人都会自动连接到整个系统。


现在,让我们通过查看其特性来了解更多关于微服务的信息。

微服务功能

【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

Features Of Microservices — What is Microservices

  • 解耦——系统内的服务在很大程度上是解耦的。因此,整个应用程序可以轻松构建、更改和扩展。

  • 组件化——微服务被视为可以轻松更换和升级的独立组件。

  • 业务能力——微服务非常简单,专注于单一能力。

  • 自治——开发人员和团队可以彼此独立工作,从而提高速度。

  • 持续交付——通过软件创建、测试和批准的系统自动化,允许频繁发布软件。

  • 责任——微服务不关注应用程序作为项目。相反,他们将应用程序视为他们负责的产品

  • 去中心化治理——重点是为正确的工作使用正确的工具。这意味着没有标准化的模式或任何技术模式。开发人员可以自由选择最有用的工具来解决他们的问题

  • 敏捷性——微服务支持敏捷开发。任何新功能都可以快速开发并再次丢弃

微服务的优势

【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

Advantages of Microservices - What is Microservices

  • 独立开发——所有微服务都可以根据各自的功能轻松开发

  • 独立部署——根据他们的服务,他们可以单独部署在任何应用程序中

  • 故障隔离——即使应用程序的一项服务不工作,系统仍然继续运行

  • 混合技术栈——不同的语言和技术可用于构建同一应用程序的不同服务

  • 粒度缩放——单个组件可以根据需要进行缩放,无需将所有组件一起缩放

设计微服务的最佳实践


在当今世界,复杂性已成功渗透到产品中。微服务架构承诺让团队保持扩展并更好地运作。
以下是设计微服务的最佳实践:

【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

Best Practices To Design Microservices - What is Microservices

现在,让我们看一个用例来更好地理解微服务。

用例:购物车应用程序


让我们看一个购物车应用程序的经典用例。
当您打开购物车应用程序时,您看到的只是一个网站。但是,在幕后,购物车应用程序具有接受付款的服务、客户服务等。
假设这个应用程序的开发人员已经在一个整体框架中创建了它。请参考下图:

【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

Monolithic Framework Of Shopping Cart Application — What is Microservices

因此,所有功能都放在一个代码库中,并位于一个底层数据库下。
现在,让我们假设市场上出现了一个新品牌,开发人员希望将即将推出的品牌的所有细节都放在这个应用程序中。
然后,他们不仅需要为新标签重新设计服务,还必须重新构建整个系统并相应地进行部署。
为了避免此类挑战,该应用程序的开发人员决定将他们的应用程序从单体架构转变为微服务。参考下图了解购物车应用的微服务架构。

【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

Microservice Architecture of Shopping Cart Application — What is Microservices

这意味着开发人员不会创建 Web 微服务、逻辑微服务或数据库微服务。相反,他们为搜索、推荐、客户服务等创建单独的微服务。
这种类型的应用程序架构不仅可以帮助开发人员克服以前架构面临的所有挑战,还可以帮助购物车应用程序轻松构建、部署和扩展。

使用微服务的公司


有很多公司使用微服务来构建应用程序,这些只是仅举几例:

【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

Companies using Microservices - What is Microservices

这将我们带到关于什么是微服务的文章的结尾。我希望您发现这篇文章内容丰富,并为您的知识增加了价值。

本文 :https://jiagoushi.pro/what-microservices-learn-all-about-microservice-architecture
讨论:知识星球【首席架构师圈】或者加微信小号【ca_cto】或者加QQ群【792862318】
喜马拉雅 【超级架构师】路上或者车上了解最新黑科技资讯,架构心得。 【智能时刻,架构君和你聊黑科技】
知识星球 认识更多朋友,职场和技术闲聊。 知识星球【职场和技术】
领英 Harry https://www.linkedin.com/in/architect-harry/
领英群组 领英架构群组 https://www.linkedin.com/groups/14209750/
微博‍‍ 【超级架构师】 智能时刻‍
网站 CIO(首席信息官) https://cio.ceo
网站 CIO,CTO和CDO https://cioctocdo.com
网站 架构师实战分享 https://architect.pub   
网站 程序员云开发分享 https://pgmr.cloud
网站 首席架构师社区 https://jiagoushi.pro
网站 应用开发和开发平台 https://apaas.dev
网站 开发信息网 https://xinxi.dev
网站 超级架构师 https://jiagou.dev
网站 企业技术培训 https://peixun.dev
网站 程序员宝典 https://pgmr.pub    
网站 开发者闲谈 https://blog.developer.chat
网站 CPO宝典 https://cpo.work
网站 首席安全官 https://cso.pub    ‍
网站 CIO酷 https://cio.cool
网站 CDO信息 https://cdo.fyi
网站 CXO信息 https://cxo.pub

谢谢大家关注,转发,点赞和点在看。

自我介绍

  • 做一个简单介绍,酒研年近48 ,有20多年IT工作经历,目前在一家500强做企业架构.因为工作需要,另外也因为兴趣涉猎比较广,为了自己学习建立了三个博客,分别是【全球IT瞭望】,【架构师研究会】和【开发者开聊】,有更多的内容分享,谢谢大家收藏。
  • 企业架构师需要比较广泛的知识面,了解一个企业的整体的业务,应用,技术,数据,治理和合规。之前4年主要负责企业整体的技术规划,标准的建立和项目治理。最近一年主要负责数据,涉及到数据平台,数据战略,数据分析,数据建模,数据治理,还涉及到数据主权,隐私保护和数据经济。 因为需要,比如数据资源入财务报表,另外数据如何估值和货币化需要财务和金融方面的知识,最近在学习财务,金融和法律。打算先备考CPA,然后CFA,如果可能也想学习法律,备战律考。
  • 欢迎爱学习的同学朋友关注,也欢迎大家交流。全网同号【架构师研究会】

【微服务】什么是微服务?-- 全面了解微服务架构,微服务,架构,运维,java,云计算

欢迎收藏  【全球IT瞭望】,【架构师酒馆】和【开发者开聊】.文章来源地址https://www.toymoban.com/news/detail-519975.html

到了这里,关于【微服务】什么是微服务?-- 全面了解微服务架构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务治理:什么是微服务生命周期管理 (MLM)?

    微服务生命周期管理 (MLM) 指的是管理微服务整个生命周期的各种流程和工具,从其最初的设计和开发到最终的停用。它类似于软件开发生命周期 (SDLC),但专门针对微服务架构的独特需求进行定制。 以下分解了 MLM 中的关键阶段及其含义: 1. 设计和开发: 定义边界和 API: 明确

    2024年02月01日
    浏览(46)
  • 【从零开始学习微服务 | 第一篇】什么是微服务

    目录 前言: 架构风格:  单体架构: 分布式架构: 微服务: 总结:         在当今快速发展的软件开发领域,构建大型应用程序已经成为一项巨大的挑战。传统的单体应用架构往往难以满足快速变化的业务需求和不断增长的用户规模。这就引出了微服务架构:一种以服

    2024年01月25日
    浏览(49)
  • 一文带你全面了解什么是自动化测试?

    目录 简介 自动化测试概述 自动化测试目标 自动化测试流程 1. 测试计划和设计 2. 测试脚本开发 3. 测试执行和管理 4. 测试维护和优化 自动化测试最佳实践 自动化测试工具和框架 结论 软件测试是软件开发过程中一个必不可少的环节。传统的软件测试方式通常是手动测试,即

    2024年02月16日
    浏览(39)
  • WAF是什么?一篇文章带你全面了解WAF

    Web应用程序防火墙(Web Application Firewall,WAF)是一种用于保护Web应用程序的安全设备。Web应用程序是指通过Web浏览器或其他Web客户端访问的应用程序。WAF的目的是保护Web应用程序免受黑客、网络攻击和数据泄漏等安全威胁的攻击。 在这篇文章中,我们将深入探讨WAF的工作原理

    2024年02月10日
    浏览(43)
  • 什么是微格式

    微格式是一种用于在HTML文档中嵌入语义化信息的简单而轻量级的标记语言。它们通过使用已有的HTML标签和类名来表示结构化数据,以便机器能够更容易地理解和处理这些数据。 微格式的目标是为了让信息更易于被自动化工具(如搜索引擎、数据聚合器、日历应用程序等)提

    2024年02月09日
    浏览(45)
  • 【微前端】什么是微前端

    专栏: 【微前端】什么是微前端 【微前端】qiankun 【微前端】qiankun + vite + vue3 目录: 一、微前端是什么 二、微前端解决了什么问题 三、微前端的优缺点 四、微前端的解决方案 五、何时需要引入微前端 微前端(Micro Frontends)是一种前端架构模式,通过将单个应用程序分解

    2024年02月16日
    浏览(43)
  • 云计算基础架构平台搭建,云计算平台开发与运维,搭建openstack平台

    一、创建虚拟机 先创建 两台 虚拟机 内存放大一些 ,实际用的内存不会那么高 1.controller节点硬件配置 镜像我这里使用1804的    (注意:要添加一个仅主机模式的网络适配器) 2.编辑compute硬件 添加硬盘 三次下一步默认设置到这里  (注意这里是两张网卡,一张NET,一张仅

    2024年02月05日
    浏览(51)
  • 云计算基础架构平台搭建与运维实训内容

    目标: 1.基础设施环境搭建; 【使用vmware workstation pro安装centos 命令行虚拟机】 【使用mobaxterm连接centos虚拟机】 【在centos中安装docker】 2.容器化部署实例; 【安装portainer,用于管理docker容器】 【在portainer里,采用容器技术,搭建nginx服务器】 【在portainer里,采用容器技术,

    2024年02月04日
    浏览(44)
  • 全面了解Java连接MySQL的基础知识,快速实现数据交互

    当今互联网时代,大量的应用程序都需要使用MySQL数据库来存储和处理数据。Java作为一种广泛使用的编程语言之一,在开发Web应用程序时经常需要连接MySQL数据库进行数据操作。 因此,了解如何使用Java连接MySQL数据库是非常重要的。在本文中,我们将介绍Java JDBC API以及如何使

    2024年02月06日
    浏览(36)
  • 高可用性云计算基础架构:性能和可扩展性的全面考虑

    作者:禅与计算机程序设计艺术 云计算已经成为一种主流的服务模型,但是由于其高度的弹性、动态性以及可编程性等特点,使得它在企业内部和外部都受到越来越多的关注。在高可用性方面,云计算又逐渐得到重视,尤其是在对用户业务关键资源的要求更加苛刻的情况下。

    2024年02月13日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包