微服务基础概念【内含图解】

news/2025/1/25 7:39:13/

目录

拓展补充:

单体架构

分布式架构

面向服务的体系结构

云原生

微服务架构

什么是微服务?

微服务定义


拓展补充:

单体架构

        单体架构:将业务的所有功能集中在一个项目中开发,最终打成一个包部署

优点:架构简单、部署成本低

缺点:耦合度高

代码之间的“边界”模糊,万一修改一处的代码,很有可能影响到其他模块的代码

分布式架构

        分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务

优点:

  • 降低服务耦合
  • 有利于服务升级

缺点:

  • 服务要拆分
  • 服务治理的问题:
  1. 服务拆分粒度如何?

  2. 服务集群地址如何维护?

  3. 服务之间如何实现远程调用?

  4. 服务健康状态如何感知?

面向服务的体系结构

【摘自百度】

面向服务的体系结构(service-oriented architecture)

        一种包含服务提供者、服务请求者和服务中介,并且遵照开放的互操作协议来实现服务共享和组合的软件体系结构。将不同的服务通过定义良好的接口和协议联系起来,这使服务可以以一种统一和通用的方式进行交互,独立于硬件平台、操作系统和编程语言

云原生

        云原生是基于分布部署和统一运管的分布式云,以容器、微服务、DevOps等技术为基础建立的一套云技术产品体系

微服务架构

微服务架构:一种经过良好架构设计的分布式架构方案

  • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发
  • 面向服务:微服务对外暴露业务接口
  • 自治:团队独立、技术独立、数据独立、部署独立
  • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题

什么是微服务?

        维基上对其定义为:一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建

微服务定义

        传统的单体架构的业务系统打散为更细粒度的单位,这个打小的单位就微服务

每个单位它都是可以独立的进行需求设计、开发、测试、部署和交付

每个单位都可以做到独立自治


http://www.ppmy.cn/news/1042564.html

相关文章

视频播放实现示例Demo

学习链接 vuespringboot文件分片上传与边放边播实现 同步加载、播放视频的实现 ---- range blob mediaSource 通过调试技术,我理清了 b 站视频播放很快的原理 MSE (Media Source Extensions) 上手指南 浅聊音视频的媒体扩展(Media Source Extension…

提高批量爬虫工作效率

大家好!作为一名专业的爬虫程序员,我今天要和大家分享一些关于提高批量爬虫工作效率的实用技巧。无论你是要批量采集图片、文本还是视频数据,这些经验都能帮助你在大规模数据采集中事半功倍。废话不多说,让我们开始吧!…

Jmeter压测 —— 动态数据关联

在进行压测时,经常需要对一些动态的数据进行数据关联。要不然容易造成脚本回放失败,或者多个虚拟用户执行时,只有一个用户运行成功。如下图:未关联数据时,脚本参数及回放结果 因此,在进行压测时&#xff0c…

【论文笔记】基于指令回译的语言模型自对齐-MetaAI

MetaAI最近发布的Humpback,论文链接:https://arxiv.org/abs/2308.06259 解决什么问题? 大量高质量的指令微调数据集的生成。 思路 在这项工作中,我们通过开发迭代自训练算法来利用大量未标记的数据来创建高质量的指令调优数据集…

适用于Android™的Windows子系统Windows Subsystem fo r Android™Win11安装指南

文章目录 一、需求二、Windows Subsystem for Android™Win11简介三、安装教程1.查看BIOS是否开启虚拟化2.安装Hyper-V、虚拟机平台3.启动虚拟机管理程序(可选)4.安装适用于Android™的Windows子系统5.相关设置 一、需求 需要在电脑上进行网课APP(无客户端只有App&…

【Web开发指南】MyEclipse XML编辑器的高级功能简介

MyEclipse v2023.1.2离线版下载 1. 在MyEclipse中编辑XML 本文档介绍MyEclipse XML编辑器中的一些可用的函数,MyEclipse XML编辑器包括高级XML编辑,例如: 语法高亮显示标签和属性内容辅助实时验证(当您输入时)文档内容的源(Sou…

SpringBoot3集成Kafka

标签:Kafka3.Kafka-eagle3; 一、简介 Kafka是一个开源的分布式事件流平台,常被用于高性能数据管道、流分析、数据集成和关键任务应用,基于Zookeeper协调的处理平台,也是一种消息系统,具有更好的吞吐量、内…

什么是“新型基础设施”?建设重点是什么?

一是信息基础设施。主要是指基于新一代信息技术演化生成的基础设施,比如,以5G、物联网、工业互联网、卫星互联网为代表的通信网络基础设施,以人工智能、云计算、区块链等为代表的新技术基础设施,以数据中心、智能计算中心为代表的…