03微服务到底是什么

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

一句话导读

        微服务是一种架构模式,英文翻译 microservice,微服务架构的核心理念是将大型、复杂的单体应用拆分成更小的、自治的组件,每个组件即为一个微服务

目录

一句话导读

一、微服务的定义

二、微服务的特点

        1.独立性

        2.松耦合

        3.可伸缩性

        4.技术多样性

        5.独立部署

三、微服务的利与弊

        1.优点

        2.弊端

四、微服务架构典型示例


一、微服务的定义

        微服务(Microservice)是一种以服务为中心的软件架构模式,按照我们之前文章的讨论,他是为了解决单体应用复杂度问题的一个手段,将复杂的单体应用,通过不同的方法拆分成合理的一系列微小的服务,每个服务负责一个特定的业务功能,可以独立开发、部署和扩展,独自为一个进程,可以是不同的语言开发,服务间采用轻量级的通讯协议如http、消息队列等进行交互,多个服务组合形成一个微服务体系,服务间松耦合并高度自治。

二、微服务的特点

        1.独立性

        每个微服务都是独立的应用单元,可以独立部署和运行。这使得团队可以独立开发和扩展服务,而不会对其他服务造成影响。

        2.松耦合

        微服务之间使用轻量级的通信机制进行交互,从而实现了松耦合。这使得服务之间的变更和演化更加容易,不会影响其他服务的正常运行。

        3.可伸缩性

        由于每个微服务都可以独立扩展,可以根据实际需求调整每个服务的资源和容量,从而实现更好的可伸缩性。

        4.技术多样性

        微服务架构允许不同的服务使用不同的技术栈和编程语言,这使得团队可以选择最适合其业务需求和技术能力的技术。

        5.独立部署

        由于微服务独立部署,可以更快地进行部署和发布新功能,从而实现持续交付和快速响应业务需求。

三、微服务的利与弊

        1.优点

        降低复杂度:将大型工程分而治之,每个微服务只关注某一个领域

        独立开发部署:每个微服务都可以由不同的团队独立开发和部署,使得团队具有更大的自治权和快速迭代能力

        技术选型不受限制:各自团队可以根据自己团队的技术特点,选择合适的技术栈完成开发,只要遵循统一的接口协议即可

        服务可以独立扩展:微服务要求服务间松耦合,相互独立,各自拥有自己的数据库,无状态接口,这使得服务可以独立扩展,不受限制

        故障隔离:由于微服务是独立不是的,一个微服务的故障不会影像到其他微服务的正常运行,提高了整个系统的稳定性

        2.弊端

        服务拆分是难题:如何做服务拆分,服务之间的边界在哪里,如何做到松耦合,这些问题都是比较棘手的问题

        项目整体管理难:对于一个大型项目,如果项目被拆分出几十上百个小服务、小团队,各自拥有自己的管理风格和技术栈,要想整体管理该项目,那将是一个大的项目管理工程。

        服务发现与治理难:随着服务数量的增加,服务发现和治理变得更加困难,需要引入额外的组件和机制来管理服务。

        服务通信开销增大:微服务之间的通信可能涉及网络开销,特别是在服务数量庞大时,可能会导致性能问题

        数据一致性难保证:由于每个微服务都有自己的数据存储,数据一致性成为一个挑战,需要采取合适的解决方案来确保数据一致性。

        跨服务测试和调试难:在微服务架构中,跨服务的测试和调试可能变得复杂,需要合理的测试策略和工具。

四、微服务架构典型示例

        拿我们上篇博客《02单体应用真的是地狱吗》中国的例子来说,小王和小任的教育APP发展到一定阶段,业务是越来越复杂,最后他们是考虑用微服务来解决这个问题,将服务拆分成了认证服务、用户服务、口算服务、打卡服务、订单服务、商城服务、报表服务等等,伴随着业务的不对发展,后续肯定还有新的服务出现。如下图,微服务架构是一个体系,涵盖了服务注册、配置、治理、调用、监控等等。

03微服务到底是什么,微服务架构设计,微服务,架构,云原生,容器,语言模型

 图1 微服务典型架构文章来源地址https://www.toymoban.com/news/detail-631573.html

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

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

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

相关文章

  • 云原生架构的核心技术(微服务、DevOps、容器云、Service Mesh、Serverless、声明式API)

    天上飞的理念☁️☁️☁️☁️☁️,必然有落地的实现 文章介绍 读完本文,你将对云原生下的核心概念微服务、DevOps、容器云、Service Mesh、Serverless、Immutable Infrastructure、Declarative-API等有一个详细的了解,帮助你快速掌握云原生的核心和要点。 IaaS(Infrastructure-as-a-Service基

    2024年02月03日
    浏览(47)
  • 云原生到底是什么意思

    云原生到底是什么意思? 随着云计算技术的迅速发展,云原生成为了一个备受关注的话题。云原生不仅仅是一种新的软件架构,更是一种变革性的开发方法论。本文将深入解析云原生的意义、特点以及为什么它在现代软件开发中变得如此重要。 1. 容器化 云原生应用程序通常

    2024年01月17日
    浏览(52)
  • 云原生学些-第一章-云原生到底是什么?

    云原生的学习- Iaas 基础设施即服务-提供服务器 物理机阶段 Paas 平台即服务-提供系统和软件来开发应用 云计算阶段-平台架构 Saas 软件即服务 提供一套应用 Caas 容器即服务 容器化阶段-业务分离隔离 云定义:一组由硬件组成起来的基础设施,提供给各应用使用的, openstack 硬

    2024年04月10日
    浏览(36)
  • 【云原生】 一文了解Docker到底是什么?

    目录 1.docker是什么? 2.为什么需要docker? 3.docker特点 4.docker架构 5.云计算中的服务包括三个层面 6.传统虚拟化架构 7.容器架构 8.docker系统架构 Docker 守护进程 Docker 客户端 Docker 仓库 Docker 对象 Images(镜像) Containers (容器) Service (服务) 9.docker底层技术 命名空间(namespac

    2024年02月13日
    浏览(47)
  • 专为云原生、微服务架构而设计的链路追踪工具 【SkyWalking介绍及搭建】

    服务链路追踪已成为不可或缺的一环 skywalking是一个优秀的 国产 开源框架,2015年由个人 吴晟 (华为开发者)开源 , 2017年加入apache 孵化器。 skywalking是分布式系统的应用 程序性能监视工具 ,专为微服务、云原生架构和基于容器化技术 (docker、K8s、Mesos)架构而设计,它是

    2023年04月08日
    浏览(86)
  • openEuler 22.03 x86架构下docker运行arm等架构的容器——筑梦之路

    随着国产化的普及,国家政策对信创产业的支持,尤其一些金融证券行业、政府单位等,逐渐开始走国产化信创的路线,越来越多接触到国产 CPU ( arm  平台,比如华为的鲲鹏处理器) 自己买  arm  平台的  CPU ,这个成本着实吃不消,于是尝试  x86  平台运行  arm  平台的

    2024年02月04日
    浏览(49)
  • 【软件架构】03-架构设计流程

    确定了系统面临的主要复杂度问题,进而明确了设计方案的目标, 一般三到五个,防止思维狭隘 从需求、团队、技术、资源等综合情况出发,对主流、成熟的架构模式进行选择。 以常见的质量属性作为评估标准:性能、可用性、硬件成本、项目投入、复杂度、安全性、可扩

    2024年02月22日
    浏览(43)
  • 03-微服务架构构建之微服务拆分

    微服务架构是将一个单体应用程序拆分为一个个独立且保持松耦合的服务的一种架构方式,每个服务有着独立的数据库并且能独立运行部署。微服务架构的构建过程中,第一步也是最为重要的一步是进行服务拆分。只有将微服务按照合理的方式进行拆分,才能确保整个项目能

    2024年02月03日
    浏览(47)
  • 【云原生-白皮书】简章1:为什么我们需要云原生架构?

    声明:本文为《阿里云云原生架构核心技术白皮书》的一些读书笔记与感想。 一文大致了解云原生架构模式特点传送门:五分钟了解云原生的架构模式 声明:本文是阅读阿里云云原生架构核心技术白皮书的一些读书笔记与感想。 云原生架构是一种创新的软件开发方法,专为

    2023年04月26日
    浏览(58)
  • 云原生、容器化、Kubernetes、微服务

    作者:禅与计算机程序设计艺术 云原生(Cloud Native)是一个开放且社区驱动的项目,它定义了一组架构原则、最佳实践和工具集,这些原则、实践和工具围绕业务需求和工程实践而设计,可用于开发人员在构建和运行分布式系统时更加顺畅地交付可靠的软件。云原生可以帮助

    2024年02月07日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包