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

文章目录

  • 课程介绍 ( 本章了解即可,可以略过)
  • 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.hqwc.cn/news/675713.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

革新品质检测,质构科技重塑肉类行业新篇章

革新品质检测,质构科技重塑肉类行业新篇章 在现代社会,消费者对食品安全和品质的要求日益提升,特别是在肉类行业。为了满足这一市场需求,质构科技凭借其精准、高效的优势,正逐渐成为肉类品质检测的新星。今天&#xf…

python网络爬虫学习——编写一个网络爬虫

参考资料:用Python写网络爬虫(第2版) 1、编写一个函数 (1)用于下载网页,且当下载网页发生错误时能及时报错。 # 导入库 import urllib.request from urllib.error import URLError,HTTPError,ContentTooS…

STM32F103学习笔记 | 7.使用寄存器点亮LED灯

int main(void) { // 分析指南者硬件原理图得知要实现点亮灯泡需要将PB0设置为低电位, // 查阅STM32F10x中文手册的端口配置低寄存器,得知一个PB有8个配置位,查阅手册找到了PB0的位置是3:2位置, // 插入未知知识:将端…

Hadoop3:HDFS的架构组成

一、官方文档 我这里学习的是Hadoop3.1.3版本,所以,查看的也是3.1.3版本的文档 Architecture模块最下面 二、HDFS架构介绍 HDFS架构的主要组成部分,是一下四个部分 1、NameNode(NN) 就是Master节点,它是集群管理者。 1、管…

如何用virtualbox 来跑openwrt 镜像?

1.下载好openwrt源代吗,编译之前先配置,让编译产生x86的virtualbox 镜像: 编译完成之后会产生vdi镜像文件, 在virtualbox 中创建一虚拟机,类型选择linux,版本other linux 64: 内存选择512: 这个地方把镜像…

微信小程序03: 获取不限制的小程序二维码

全文目录,一步到位 1.前言简介1.1 专栏传送门1.1.1 上文小总结1.1.2 上文传送门 2. 获取不限制二维码操作2.1 准备工作2.1.1 请先复制00篇的统一封装代码2.1.2 修改配置文件中的参数 2.2 具体代码使用与注释如下2.2.1 业务代码如下2.2.2 代码解释(一)[无需复制]2.2.3 创建Base6…

初识C语言——第十四天

指针 总结:指针变量是用来干啥的呢,一是用来存放别人的地址的,指针是有类型的,这个类型是如何写的;二是当我有一天通过*(解引用符)找到我所要找的对象,来操作所指向的对象。 #define _CRT_SECUR…

软件测试--接口测试

接口测试:直接对后端服务的测试,是服务端性能测试的基础 接口:系统之间数据交互的通道 接口测试:校验接口响应数据与预期数据是否一致

06-07 - 变量的高级主题

---- 整理自狄泰软件唐佐林老师课程 文章目录 1. 变量值的替换2. 变量的模式替换3. 规则中的模式替换4. 变量值的嵌套使用5. 命令行变量6. 环境变量7. 目标变量(局部变量)8. 模式变量9. 工程 1. 变量值的替换 使用指定字符(串)替…

DMAR: [INTR-REMAP] Present field in the IRTE entry is clear 的解决办法

问题描述 在使用FPGA开发PCIe的MSI-X中断相关功能时,一次测试过程中dmesg打印出如下错误,使用cat /proc/interrupts查看FPGA的PCIe驱动程序未收到MSIX中断。使用的系统为基于Intel x86_64的linux(RHEL8.9),基于Xilinx …

SQL注入实例(sqli-labs/less-1)

初始网页 从网页可知传递的参数名为 id,并且为数字类型 1、得知数据表有多少列 1.1 使用联合查询查找列数(效率低) http://localhost/sqli-labs-master/Less-1/?id1 union select 1,2 -- 1.2 使用order by查找列数(效率高&…