iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >简单介绍一下什么是microservice微服务
  • 714
分享到

简单介绍一下什么是microservice微服务

微服务微服务是什么 2023-03-21 17:03:31 714人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、单体软件二、面向服务架构三、微服务References微服务(microservice)是一种软件架构,正得到越来越多的关注。 但是,它到底是什么意思?什么样的架构可以叫做微

微服务(microservice)是一种软件架构,正得到越来越多的关注。

但是,它到底是什么意思?什么样的架构可以叫做微服务?

网上的文章虽然很多,但是都太复杂,初学者不容易看懂。我认为,这个概念其实非常简单,可以很通俗地说明白。

图片

一、单体软件

要理解微服务,首先需要理解软件架构的演变。

早期的软件,所有功能都写在一起,这称为单体架构(monolithic software)。

图片

整个软件就是单一的整体,彷佛一体化的机器。

可以想到,软件的功能越多,单体架构就会越复杂,很多缺点也随之暴露出来。

(1)所有功能耦合在一起,互相影响,最终难以管理。

(2)哪怕只修改一行代码,整个软件就要重新构建和部署,成本非常高。

(3)因为软件做成了一个整体,不可能每个功能单独开发测试,只能整体开发和测试,导致必须采用瀑布式开发模型。

以上三个原因的详细分析,可以参考我以前的文章《软件工程的最大难题》。

图片

总之,单体架构的大型软件,不仅开发速度慢,而且会形成难以维护和升级的复杂代码,成为程序员的沉重负担。

二、面向服务架构

为了解决上面这些问题,很早就有人提出来,必须打破代码的耦合,拆分单体架构,将软件拆分成一个个独立的功能单元。

大概在20多年前,随着互联网的出现,功能单元可以用远程“服务”的形式提供,就诞生出了“面向服务架构”(service-oriented architecture,简称 SOA)。

图片

所谓服务(service),就是在后台不间断运行、提供某种功能的一个程序。最常见的服务就是 WEB 服务,通过80端口向外界提供网页访问。

“面向服务架构”就是把一个大型的单体程序,拆分成一个个独立服务,也就是较小的程序。每个服务都是一个独立的功能单元,承担不同的功能,服务之间通过通信协议连在一起。

图片

这种架构有很多优点。

(1)每种服务功能单一,相当于一个小型软件,便于开发和测试。

(2)各个服务独立运行,简化了架构,提高了可靠性。

(3)鼓励和支持代码重用,同一个服务可以用于多种目的。

(4)不同服务可以单独开发和部署,便于升级。

(5)扩展性好,可以容易地加机器、加功能,承受高负载。

(6)不容易出现单点故障。即使一个服务失败了,不会影响到其他服务。

跟单体架构不一样,面向服务架构是语言不敏感的,不同服务可以使用不同的语言和工具开发,可能需要部署在不同的系统和环境。

这意味着,面向服务架构默认运行在不同服务器上,每台服务器提供一种服务,多台服务器共同组成一个完整的网络应用。

三、微服务

2014年,Docker[1] 出现了,彻底改变了软件开发的面貌。它让程序运行在容器中,每个容器可以分别设定运行环境,并且只占用很少的系统资源。

图片

显而易见,可以用容器来实现“面向服务架构”,每个服务不再占用一台服务器,而是占用一个容器。

这样就不需要多台服务器了,最简单的情况下,本机运行多个容器,只用一台服务器就实现了面向服务架构,这在以前是做不到的。这种实现方式就叫做微服务。

图片

简单说,微服务就是采用容器技术的面向服务架构。它依然使用“服务”作为功能单元,但是变成了轻量级实现,不需要新增服务器,只需要新建容器(一个进程),所以才叫做“微服务”。

一个微服务就是一个独立的进程[2]。 这个进程可以运行在本机,也可以运行在别的服务器,或者在云端(比如云服务和云函数 FaaS)。

它的特点与面向服务架构是一样的,但因为更轻量级,所以功能的解耦和服务化可以做得更彻底。而且,它可以标准化,同样的容器不管在哪里运行,结果都是一样的,所以市场上有很多 SaaS 产品,提供标准化的微服务。

正是由于微服务这些突出的优点,这几年才会变得如此流行。它和容器技术、云服务一起,一定会在未来的软件开发中,扮演越来越重要的角色。

(完)

References

[1] Docker: https://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html
[2] 进程: Https://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

--结束END--

本文标题: 简单介绍一下什么是microservice微服务

本文链接: https://www.lsjlt.com/news/200737.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 简单介绍一下什么是microservice微服务
    目录一、单体软件二、面向服务架构三、微服务References微服务(microservice)是一种软件架构,正得到越来越多的关注。 但是,它到底是什么意思?什么样的架构可以叫做微...
    99+
    2023-03-21
    微服务 微服务是什么
  • 是什么JSON,简单介绍
    JSON 是什么1、JSON,全称是 JavaScript Object Notation,即 JavaScript 对象标记法。 2、JSON 是一种轻量级(Light-Weight)、基于文本的(Text-Based)、可读的...
    99+
    2023-06-03
  • DNS服务器是简单介绍
    本篇内容介绍了“DNS服务器是简单介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!DNS 是计算机域名系统 (Domain Name Sy...
    99+
    2023-06-07
  • Java基础之简单介绍一下Maven
    目录一、Maven是什么?二、Maven的作用三、Maven能干的事情四、Maven的好处五、Maven的仓库分类以及简单的说明六、Maven定义jar包的各个字段的描述七、Mave...
    99+
    2024-04-02
  • 什么是Android FrameWork,请你介绍一下?
    Framework是什么 Framework的中文意思是“框架”,在软件开发中通常指开发框架,在一个系统中处于内核层之上,为顶层应用提供接口,被设计用来帮助开发者快速开发顶层应用,而不必关心系统内核运...
    99+
    2023-09-24
    android ui 移动开发 Framework java
  • 简单介绍一下Oracle创建Database Link的两种方式
    Oracle创建Database Link的两种方式是静态Database Link和动态Database Link。1. 静态Da...
    99+
    2023-09-22
    Oracle
  • 云虚拟服务器的简单介绍
    本篇内容主要讲解“云虚拟服务器的简单介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“云虚拟服务器的简单介绍”吧!虚拟主机就是运用网络空间技能把一台服务器分成很多“虚拟的”主机,每一台网络空间都...
    99+
    2023-06-07
  • 介绍一下TensorFlow的Eager Execution模式是什么以及它的优势。
    TensorFlow的Eager Execution(即立即执行模式)是一种命令式编程环境,它允许在运行时立即执行操作,而不需要构建...
    99+
    2024-03-01
    TensorFlow
  • 云服务器的介绍和特点是什么
    云服务器(Cloud Server)是一种通过互联网提供云服务的服务器,它通常由多个服务器组成,每个服务器运行一个虚拟计算机集群,提供计算、存储、网络和其他服务,用户通过浏览器访问这些服务,并可以与其他用户共享这些资源。 云服务器的特点是...
    99+
    2023-10-26
    服务器
  • 云服务器的介绍和特点是什么呢
    云服务器(Cloud Docker)是一种基于容器技术的服务器,它可以被部署在云基础设施上,可以通过网络连接访问。云服务器的介绍如下: 云服务器的定义:云服务器是一种服务器,它由多个容器组成,这些容器被托管在一个公共云平台上。这些容器可...
    99+
    2023-10-26
    什么呢 服务器 特点是
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
    Spring Cloud是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器、数据监控等(这里只简单的列了一部分),都可以用Spring Boot...
    99+
    2023-06-05
  • 【Spring Cloud Alibaba】(一)微服务介绍 及 Nacos注册中心实战
    文章目录 前言I、微服务与Spring CloudII、Nacos 注册中心III、Spring Cloud Alibaba Nacos 实战1、新建父工程2、新建demo-a 服务3、新建...
    99+
    2023-10-09
    spring java 微服务 spring cloud SC Alibaba
  • NoSQL数据库的简单介绍以及redis持久化数据服务
    本篇内容介绍了“NoSQL数据库的简单介绍以及redis持久化数据服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2024-04-02
  • 阿里云服务器的介绍和特点是什么
    阿里云服务器是阿里云旗下的云计算服务,其主要特点包括以下几点: 稳定可靠:阿里云是国内领先的云计算服务提供商,采用多层防御机制和多重备份的云服务器为用户提供高可用性和稳定性保障。 快速部署:阿里云提供云服务器和云存储服务,用户可以直接使...
    99+
    2023-10-26
    阿里 服务器
  • 阿里云服务器的介绍与特点是什么
    阿里云服务器是阿里云的一项重要服务,它具有以下特点: 稳定可靠性:阿里云服务器具有全球性的网络和节点资源,支持稳定可靠的网络连接。 高性能计算能力:阿里云服务器具有高性能计算能力,可为用户提供更高质量的计算服务。 智能管理服务:阿里云服...
    99+
    2023-10-26
    阿里 服务器
  • 云服务器的介绍和特点是什么意思
    云服务器(Cloud Storage)是一种用于在云端托管和管理应用程序和数据的服务。通常,云服务器提供了虚拟化、弹性存储、高可扩展性和高度安全等功能,以帮助企业轻松地进行应用程序的快速部署和管理,同时还能够实现业务创新和灵活性。 云服务...
    99+
    2023-10-26
    服务器
  • 阿里云服务器介绍和功能点是什么
    阿里云服务器是阿里巴巴公司开发和提供的云计算服务,包括服务器、存储和网络设备等。在阿里云服务器中,您可以使用云服务器提供商的技术和产品以及自身的开发和设计能力来构建和维护云服务器解决方案。 阿里云服务器的介绍如下: 阿里云服务器的特点:...
    99+
    2023-10-26
    阿里 功能 服务器
  • 什么是uac功能?Vista下的UAC功能详细介绍
    UAC是什么? UAC的全称是User Account Control(用户账户控制),它是Windows Vista提供的一个安全特性。它会在用户使用计算机进行更改系统设置或者安装软件等会影响到系统安全性、稳定性的操作...
    99+
    2023-05-22
    什么是uac功能 vista uac
  • 云服务器的主要优势是哪些内容和功能介绍一下
    优势一:高效稳定 云服务器具有高效稳定的特点。它采用分布式架构,能够快速地部署和管理多个云服务器,同时也能够根据用户的需要进行弹性扩容和缩减,提高了用户的使用效率。 优势二:安全可靠 云服务器采用了多重安全机制,包括数据加密、防火墙、安全...
    99+
    2023-10-27
    介绍一下 优势 功能
  • SpringCloud分布式微服务b2b2c电子商务(一)组件和概念介绍
    一:什么是微服务(Microservice)微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务。这些小的Web服务可以独立地编译及部署,了解springcloud架构可以加...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作