【挑战30天首通《谷粒商城》】-【第一天】03、简介-分布式基础概念

news2024/10/6 2:20:37

文章目录

  • 课程介绍 ( 本章了解即可,可以略过)
  • 1、微服务
        • 简而言之:
  • 2、集群&分布式&节点
    • 2.1、定义
    • 2.2、示例
  • 3、远程调用
  • 4、负载均衡
        • 常见的负裁均衡算法:
  • 5、服务注册/发现&注册中心
  • 6、配置中心
  • 7、服务熔断&服务降级
        • 7.1、服务熔断
        • 7.2、服务降级
  • 8、API网关
  • one more thing
    • 废话不多说上教程:(动画教程 + 图文教程)
    • 一、动画教程
      • 激活 与 升级(至最新版本)
    • 二、图文教程

课程介绍 ( 本章了解即可,可以略过)

1、微服务
2、集群&分布式&节点
3、远程调用
4、负戟均衡
5、服务注册/发现&注册中心
6、配置中心
7、服务熔断&服务降级
8、API网关

1、微服务

微服务架构风格

  • 就像是把一个单独的应用程序开发为一套小服务
  • 每个小服务运行在自己的进程中,并使用轻量级机制通信,通常是 HTTP API
  • 这些服务围绕业务能力来构建,并通过完全自动化部署机制来独立部署。
  • 这些服务使用不同的编程语言书写,以及不同数据存储技术,
  • 并保持最低限度的集中式管理。
简而言之:
  • 拒绝大型单体应用
  • 基于业务边界进行服务微化拆分
  • 各个服务独立部署运行

2、集群&分布式&节点

2.1、定义

  • 分布式是指 将不同的业务分布在不同的地方
  • 集群是指将几台服务器集中在一起,实现同一业务
  • 节点:是指集群中的一个服务器

集群是个物理形态,分布式是个工作方式

只要是一堆机器,就可以叫集群

  • 他们是不是一起协作着干活,这个谁也不知道;《分布式系统原理与范型》定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”分布式系统(distributedsystem)是建立在网络之上的软件系统。

2.2、示例

京东是一个分布式系统,众多业务运行在不同的机器,所有业务构成一个大型的业务集群。每一个小的业务,比如用户系统,访问压力大的时候一台服务器是不够的。我们就应该将用户系统部署到多个服务器,也就是每一个业务系统也可以做集群化;

  • 分布式中的每一个节点,都可以做集群
  • 而集群并不一定是分布式

3、远程调用

在分布式系统中,各个服务可能处于不同主机但是服务之间不可避免的需要互相调用,我们称为远程调用

SpringCloud 中使用 HTTP+JSON 的方式完成远程调用

在这里插入图片描述

4、负载均衡

分布式系统中,A服务需要调用B服务,B服务在多台机器中都存在,A调用任意一个服务器均可完成功能
为了使每一个服务器都不要太忙或者太闲,我们可以负载均衡的调用每一个服务器,提升网站的健壮性

常见的负裁均衡算法:
  • 轮询 : 为第一个请求选择健康池中的第一个后端服务器,然后按顺序往后依次选择,直到最后一个,然后循环
  • 最小连接 : 优先选择连接数最少,也就是压力最小的后端服务器,在会话较长的情况下可以考虑采取这种方式。
  • 散列 : 根据请求源的IP 的散列(hash)来选择要转发的服务器。这种方式可以一定程度上保证特定用户能连接到相同的服务器。如果你的应用需要处理状态而要求用户能连接到和之前相同的服务器可以考虑采取这种方式

5、服务注册/发现&注册中心

A服务调用B服务,A服务并不知道B服务当前在哪几台服务器有,哪些正常的,哪些服务已经下线。解决这个问题可以引入注册中心;

在这里插入图片描述

如果某些服务下线,我们其他人可以实时的感知到其他服务的状态,从而避免调用不可用的服务

6、配置中心

配置中心用来集中管理微服务的配置信息

  • 每一个服务最终都有大量的配置
  • 每个服务都可能部署在多台机器上
  • 我们经常需要变更配置

我们可以让每个服务在配置中心获取自己的配置
在这里插入图片描述

7、服务熔断&服务降级

在微服务架构中,微服务之间通过网络进行通信,存在相互依赖,当其中一个服务不可用时有可能会造成雪崩效应要防止这样的情况,必须要有容错机制来保护服务

在这里插入图片描述

7.1、服务熔断

设置服务的超时,当被调用的服务经常失败到达某个值,我们可以开启断路保护机制后来的请求不再去调用这个服务。本地直接返回默认的数据

7.2、服务降级

在运维期间,当系统处于高峰期,系统资源紧张,我们可以让非核心业务降级运行降级
降级:某些服务不处理,或者简单处理【抛异常、返回 NULL、调用 Mock 数据、调用 Fallback 处理逻辑】。

8、API网关

在微服务架构中,API Gateway作为整体架构的重要组件,

  • 抽象微服务中都需要的公共功能
  • 同时提供了客户端负载均衡
  • 服务自动熔断
  • 灰度发布
  • 统一认证
  • 限控
  • 日志统计

  • 丰富的功能,帮助我们解决很多 API管理难题。

在这里插入图片描述

one more thing

程序员的烦恼

  • 为激活编程软件到处找激活码(JetBrains 全家通)
  • 苦于JetBrains 正版授权太贵而放弃
  • 学习资料贵且不成体系而躺平

关注公众号金榜探云手

你可以获得什么?

  1. JetBrains 最新激活码,永久更新(只供娱乐,切勿商用)
    公众号回复:00cs
  2. JetBrains 正版授权,全主题、全插件免费使用,一年一杯咖啡钱, 公众号回复:vip
  3. IT 技术视频共享(国内外全系列,只对粉丝开放)

付费版Idea百科全书,和Pycharm使用百科全书全部输出整理了,这些工具都掌握了对编码效率肯定是有本质上的提升,配合Github Copilot基本能让工具完成大部分开发工作,专注完成业务实现就好。

IDEA付费版使用百科全书
https://ziby0nwxdov.feishu.cn/docx/MiCfdogB4omIa9xlW50cByiGn5n

Pycharm付费版使用百科全书 https://ziby0nwxdov.feishu.cn/docx/DArFdVFQpomfUvxV7xZcCwXYn0c

废话不多说上教程:(动画教程 + 图文教程)

一、动画教程

激活 与 升级(至最新版本)

  • 激活
    请添加图片描述
  • 升级最新版本

请添加图片描述

二、图文教程

  • 点击进入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1663926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT作业5

1、聊天室 服务器端 //头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QTcpSocket> #include <QList> #include <QListWidget> #include <QMessageBox> #include <QDebug> #includ…

C语言(指针)4

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸各位能阅读我的文章&#xff0c;诚请评论指点&#xff0c;关注收藏&#xff0c;欢迎欢迎~~ &#x1f4a5;个人主页&#xff1a;小羊在奋斗 &#x1f4a5;所属专栏&#xff1a;C语言 本系列文章为个人学习笔记&#x…

我必须要吹一波MATLAB 2024a,太牛逼了!|福利:附安装教程及下载地址

最近逛MATLAB官网&#xff0c;发现MATLAB 2024a版本已经Pre-release了&#xff0c;翻了下release note&#xff0c;不得不感叹&#xff0c;实在是太强了&#xff01; 这次重点更新了四个工具箱&#xff1a; Computer Vision Toolbox Deep Learning Toolbox Instrument Contro…

1.基于python的单细胞数据预处理-降维可视化

目录 降维的背景PCAt-sneUMAP检查质量控制中的指标 参考&#xff1a; [1] https://github.com/Starlitnightly/single_cell_tutorial [2] https://github.com/theislab/single-cell-best-practices 降维的背景 虽然特征选择已经减少了维数&#xff0c;但为了可视化&#xff0…

InputStream,OutputStream的用法以及相应的案例

1. 文件系统的操作&#xff1a;File类。 2. 文件内容的操作&#xff1a;Stream流。 字符流&#xff1a;IntputStream &#xff0c; OutputStream。 字节流&#xff1a;read &#xff0c; write。 InputStream&#xff0c;OutputStream InputStream和OutputStream都不能被实例…

Web数字孪生引擎

Web数字孪生引擎是指用于在Web上创建和运行数字孪生的软件平台。它们通常提供一组API和工具&#xff0c;用于连接到实时数据源、可视化数据并创建交互式体验。Web数字孪生引擎被广泛应用于各种应用&#xff0c;例如工业物联网、智能建筑、城市管理和公共安全等。北京木奇移动技…

Linux 安裝 rpm包

下载 地址&#xff1a;https://developer.aliyun.com/packageSearch 安装 rpm -ivh lsof-4.87-6.el7.x86_64.rpmlsof -Ki|awk {print $2}|sort|uniq -c|sort -nr|head lsof | wc -l

上位机图像处理和嵌入式模块部署(树莓派4b和电源供给)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面&#xff0c;我们说过pc电脑和嵌入式设备&#xff0c;两者都可以实现相同的软件功能。但是和pc相比较&#xff0c;嵌入式设备不仅价格更便宜&a…

RabbitMQ (windows) 安装

大家好我是苏麟 , 今天安装一下 RabbitMQ . 官网 : RabbitMQ: One broker to queue them all | RabbitMQ 1.点击 Getting Started 2. 点击 Docs 3.点击 Install And Upgrade 4.点击 installation via Chocolatory 5. 直接下载安装包 RabbitMQ 下好了先放在一遍 RabbitMQ 需要 E…

前端框架-echarts

Echarts 项目中要使用到echarts框架&#xff0c;从零开始在csdn上记笔记。 这是一个基础的代码&#xff0c;小白入门看一下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" co…

新手做抖音小店必须了解的回款周期问题!这样做,一步快速结算

哈喽~我是电商月月 我们做抖音小店&#xff0c;在商品上架出单后&#xff0c;商家需要到商品的上家拍单&#xff0c;由上家发货给顾客&#xff0c;顾客收到货后&#xff0c;周期一到才能赚取到商品的差价&#xff0c;这个时间大概在7~15天之内&#xff0c;想准时发货不超时违规…

八款免费好用的3D建模AI工具,让你的设计更简单!

随着人工智能和大语言模型的不断发展&#xff0c;AI工具正逐渐渗透到3D建模领域中。传统上&#xff0c;3D建模师需使用如3ds Max、Maya等这类复杂的3D建模软件&#xff0c;投入大量的时间与精力来创作精细的模型。然而&#xff0c;有了AI工具的辅助&#xff0c;设计过程不仅对专…

激光测径仪在胶管生产中扮演着什么角色?

关键词&#xff1a;激光测径仪,胶管,胶管测径仪,在线测径仪 胶管生产的基本工序为混炼胶加工、帘布及帆布加工、胶管成型、硫化等。不同结构及不同骨架的胶管&#xff0c;其骨架层的加工方法及胶管成型设备各异。 全胶胶管因不含骨架层&#xff0c;只需使用压出机压出胶管即可&…

AWS云优化:实现性能和成本的最佳平衡

随着企业数字化转型的加速&#xff0c;对云计算平台的需求也不断增长。AWS作为云计算行业的领导者之一&#xff0c;提供了广泛的云服务和解决方案&#xff0c;帮助企业实现业务的创新和发展。在AWS云上部署应用程序和服务后&#xff0c;对其进行优化是至关重要的&#xff0c;以…

【官方下载】Android 开发环境之 java 11 下载地址和下载操作步骤

作者介绍&#xff1a; 百度资深Android工程师T6&#xff0c;在百度任职7年半。 目前&#xff1a;成立赵小灰代码工作室&#xff0c;欢迎大家找我交流Android、微信小程序、鸿蒙项目。文章底部&#xff0c;csdn有为我插入微信的联络方式&#xff0c;欢迎大家联络我。 一&#x…

TikTok机房ip好还是住宅ip好?

住宅ip比较好&#xff0c;机房数据中心IP高效、低价&#xff0c;所以使用的人多且用处复杂&#xff0c;这类ip极大可能存在滥用的黑历史&#xff0c;通过此类ip访问tiktok&#xff0c;被禁止的可能性更高&#xff0c;更容易被拉入黑名单。所以我们推荐tiktok独享原生ip搭建节点…

计算机组成结构—指令和指令格式

目录 一、指令的基本格式 二、指令字长 1. 定长指令字结构 2.变长指令字结构 三、地址码 1.四地址指令 2.三地址指令 3.二地址指令 4.一地址指令 5. 零地址指令 四、操作码 1. 定长操作码指令格式 2. 扩展操作码指令格式 五、指令的操作数类型和操作类型 1. 操作…

openai 开源模型Whisper语音转文本模型下载使用

Whisper Whisper 是一种通用语音识别模型。它是在大量不同音频数据集上进行训练的,也是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。官方地址 https://github.com/openai/whisper 方法 一个Transformer序列到序列模型被训练在多种语音处理任务上,包括多语…

mac 讨厌百度网盘怎么办

一、别拦我 首先请允许我泄个愤&#xff0c;tmd百度网盘下个1g的文件下载速度竟然超不过200k&#xff0c;只要不放在所有已打开软件的最前面&#xff0c;它就给你降到10k以内&#xff0c;关键是你慢就慢了&#xff0c;我也不是很着急&#xff0c;关键是你日常下载失败并且总是…

2024年滴滴前端一二三面(汽车资产管理)

面试前&#xff0c;先找面经哥&#xff0c;点击此处查看更多面经 一面 1、聊项目 2、实现 TypeScript 的 Await 3、手写 compose 4、用 Vue 或者 React 实现一个组件&#xff0c;组件通过 checkbox 控制列表传入数据每一列的全选反选 二面 1、项目问题以及实现细节 2、小程序…