谷粒商城:分布式基础概念(2)

article/2025/9/12 22:34:04

微服务

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

简而言之:拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行。

集群&分布式&节点 

集群是个物理形态,分布式是个工作方式。 只要是一堆机器,就可以叫集群,他们是不是一起协作着干活,这个谁也不知道;

《分布式系统原理与范型》定义: “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统” 分布式系统(distributed system)是建立在网络之上的软件系统。

分布式是指将不同的业务分布在不同的地方。

集群指的是将几台服务器集中在一起,实现同一业务。 

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

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

节点:集群中的一个服务器

 远程调用

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

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

负载均衡 

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

常见的负载均衡算法:

轮询:为第一个请求选择健康池中的第一个后端服务器,然后按顺序往后依次选择,直 到最后一个,然后循环。

最小连接:优先选择连接数最少,也就是压力最小的后端服务器,在会话较长的情况下 可以考虑采取这种方式。

散列:根据请求源的 IP 的散列(hash)来选择要转发的服务器。这种方式可以一定程 度上保证特定用户能连接到相同的服务器。如果你的应用需要处理状态而要求用户能连接到和之前相同的服务器,可以考虑采取这种方式。

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

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

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

配置中心 

每一个服务最终都有大量的配置,并且每个服务都可能部署在多台机器上。我们经常需要变 更配置,我们可以让每个服务在配置中心获取自己的配置。 

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

服务熔断&服务降级

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

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

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

API 网关 

在微服务架构中,API Gateway 作为整体架构的重要组件,它抽象了微服务中都需要的公共 功能,同时提供了客户端负载均衡,服务自动熔断,灰度发布,统一认证,限流流控,日 志统计等丰富的功能,帮助我们解决很多 API 管理难题。

 


http://chatgpt.dhexx.cn/article/iUi7cbdY.shtml

相关文章

beetl,freemarker,thymeleaf对比及springboot集成

调研类型: Freemarker,Thymeleaf,Beetl,Velocity 调研方向: 性能,活跃度,各自优缺点,应用实例 2.1、性能报告: Jdk:1.8 Cpu: 8核12线程 Jvm : -Xms512m -Xmx512m B…

部分壳与脱壳

壳与脱壳 对网上部分壳与脱壳的摘录与总结,仅供参考,侵删 参考链接1 https://www.52pojie.cn/thread-138380-1-1.html 参考链接2 https://www.cnblogs.com/milantgh/p/3869083.html 参考链接3 http://blog.sina.com.cn/s/blog_3e28c8a5010132m6.html 壳…

谷粒商城项目学-分布式基础

项目框架图 分布式基础概念 • 微服务、注册中心、配置中心、远程调用、Feign、网关 • 2、基础开发 • SpringBoot2.0、SpringCloud、Mybatis-Plus、Vue组件化、阿里云对象存储 • 3、环境 • Vagrant、Linux、Docker、MySQL、Redis、逆向工程&人人开源 • 4、开发规范 •…

【笔记/后端】谷粒商城基础篇

目录 一、环境配置1 Docker1.1 Docker是什么?1.2 安装&启动1.2.1 阿里云镜像加速 1.3 安装MySQL1.4 安装Redis 2 开发环境2.1 Maven2.2 Git2.3 Node 二、创建微服务项目1 内容2 问题记录3 renren-generator 三、分布式组件1 Nacos1.1 注册中心1.2 配置中心1.2.1…

谷粒商城(二)

谷粒商城(二) 后台商品服务 - 三级分类1、查询1)、接口编写2)、树形展示三级分类数据3)、配置网关路由1 更改前端 base 路径2 将服务注册进nacos3 网关模块配置路由4 测试 4)、解决跨域 2、删除1&#xff0…

谷粒商城(五)

谷粒商城(五) 订单服务1、环境搭建1)、页面2)、代码 2、订单登录拦截3、订单确认页1)、VO模型2)、订单确认页数据查询1 接口编写2 调用远程服务 3)、Feign远程调用丢失请求头启动服务报错解决 4…

谷粒商城(一)

谷粒商城(一) 1、环境搭建安装 dockerdocker 安装 mysqldocker 安装 redis安装配置 git准备工具 IDEA、VsCode从 gitee 初始化项目 2、创建微服务项目1)、创建项目2)、初始化数据库 3、使用人人开源搭建后台管理系统1)…

谷粒商城:如何通过笔记复盘实现事半功倍?

前言 把谷粒商城做了一遍,其中遇的困难也记录了一下。将零散的笔记整理成有顺序的目录结构。方便自己回看、以及快速定位文章。特此记录、大部分在CSDN博客里边都可以搜索到。 大家想看的话也可以去这里看看:笔记地址传送门 后续还会继续维护这个笔记…

查壳、加壳、脱壳详细教程

查壳教程 1、打开软件后我们点击右上角的三个点,会弹出一个选择文件的窗口,我们选择要查壳的文件,同样也可以直接把需要查壳的软件拖到PEID页面里 2、这里拖入一个程序后出现如下信息页面 这里我们看到Borland Delphi 3.0,他不是一种壳&…

分布式项目-谷粒商城。

分布式项目一,分布图 二,环境搭建 1.安装linux 2.安装docker 1 卸载系统之前的docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2 设…

竞业限制是什么意思?

竞业限制是指用人单位与掌握商业秘密的职工约定在劳动合同解除或终止后的一定期限内,劳动者不得到有竞争关系的其他用人单位任职,也不得自己生产与原单位有竞争关系的同类产品或经营同类业务。 竞业限制对不同的人意义是不同的,比如&#xf…

所谓的1261考核法算不算是末尾淘汰?

【问题】 有无精通劳动法的老哥,分析一下所谓的1261考核法算不算是末尾淘汰? 已知最后考核的那个1会被约谈,连续两次都是最后就会调岗或者解除劳动合同 【解析】 算的! 应该是“末位淘汰制” 劳动法不支持“末位淘汰制”&…

数字滤波器的实现——低通滤波器再探究

在探究完滤波器原理之后,又面临一个问题就是数字滤波器如何实现的问题,因为在实际应用过程中,如果不接触硬件的话,低通滤波器一般都是通过编程实现的,具体代码应该怎么编写,在应用过程中又应该注意什么问题…

数字图像处理之低通滤波器实现原理及方法(Matlab)

1.傅里叶变换与频域 在之前的文中,我们已经进行过一些基本的图像处理。比如,使用低通滤波可以将图像模糊,也有些许降噪的作用。这些都是在空间域内进行的滤波处理,这个处理主要是依靠卷积来进行计算的。首先,从连续的一…

滤波器_理想低通/高通滤波器原理

1.滤波器作用 消除干扰杂讯噪声,对信号进行频率成分的选择2.高通滤波 过滤低频信息,让高频信息通过3.低通滤波 过滤高频信息,让低频信息通过4.理想低通滤波 D0表示通带半径,D(u,v)是到频谱中心的距离(欧式距离),公式…

带通滤波器电路图大全(三款带通滤波器电路设计原理图详解)

带通滤波器电路图设计(一) 传统的带通滤波器设计方法中涉及了很多复杂的理论分析和计算。针对上述缺点,介绍一种使用EDA软件进行带通滤波器的设计方案,详细阐述了使用FilterPro软件进行有源带通滤波器电路的设计步骤,…

T滤波器(低通滤波器)

1.电路原理 T滤波器,其基本原理是基于低通滤波器设计,实现阻高频通低频的需求,其电路图及传递函数如下。 2.传递函数 r(t)为输入,c(t)为输出,从电路原理我们得到输入输出公式: 将公式进行拉氏变换得到: 3.系…

低通滤波器和高通滤波器的程序实现原理推导

傅立叶变换,拉普拉斯变换和Z变换 对于信号分析而言,傅立叶变换是必不可少的,我们都知道傅立叶变换是把系统从时域变换到频域进行分析,那么拉普拉斯变换和Z变换是干什么的?简单的来说,由于傅里叶变换的收敛有一个狄利克雷条件,要求信号绝对可积/绝对可和。对于那些…

数字低通滤波器的原理及实现

首先说一下,数字滤波器是怎么实现的 1.首先根据电路建立低通滤波器时域系统微分方程,得出低通滤波器t域模型 2.其次将对时域微分方程进行拉式变换,得出低通滤波器的s域模型 3.将模拟滤波器转换为数字滤波器,对连续系统进行离散化…

简单易理解的RC滤波器(含电路仿真)

滤波器 滤波器是对波进行过滤的器件,是一种让某一频带内信号通过,同时又阻止这一频带外信号通过的电路。 滤波器主要有低通滤波器、高通滤波器和带通滤波器三种,按照电路工作原理又可分为无源和有源滤波器两大类。本文主要对低通、高通还有带…