1. 谷粒商城架构

article/2025/9/13 20:49:47

架构图

在这里插入图片描述

解析

客户通过任意客户端(app/Web)向服务器发送请求,

请求首先来到Nginx集群,Nginx将请求转交给Api网关(SpringCloud Gateway),

Api网关:

  1. 可以根据当前请求,动态路由到指定的服务
  2. 假如请求对应的服务过多,例如是查询商品,而商品在3个服务里面都有,网关可以通过Ribbon负载均衡的调用服务。
  3. 如果服务出现问题,也可以在网关这个级别通过Sentinel做熔断降级
  4. 还可以对请求进行认证授权, 请求过来以后,看是否合法,合法了以后再放行
  5. 还可以通过Sentinel对请求进行限流,比如当前有100W个请求,我们害怕同时放进来之后,把后台服务压垮,可以在网关处进行限流控制,只放行1W个过去,让后台业务集群很容易的处理完这些请求。

SpringBoot:实现了微服务

Feign:实现了微服务之间的调用

OAuth2.0认证中心:实现了登录之后才能处理的请求、以及社交登录

Spring Securitiy:实现了整个应用的安全以及权限控制

缓存:使用Redis实现了分片集群以及哨兵集群

持久化:使用MySQL集群实现了读写分离、分库分表

消息队列:使用Rabbit MQ集群,实现微服务之间的异步解耦,包括完成分布式事务的最终一致性

全文检索:使用Elastic Search实现

对象存储:使用阿里云的OOS存储服务

日志存储:使用ELK对日志进行相关处理,使用LogStash收集业务里面的各种日志,然后把它存储到ES里,然后ELK使用Kibana可视化插件从ES中检索出相关的日志信息,帮我们快速定位线上问题的所在。

Nacos注册中心:实现服务之间的注册与发现

Nacos配置中心:实现统一管理配置,实现改一处服务的配置,其它服务都自动修改,所有的服务都可以通过配置中心,动态获取它的配置

Sleuth+Zipkin:实现服务的可视化追踪 ,然后将所有追踪到的信息,交给Prometheus进行聚合分析,再有Grafana进行可视化展示,通过prometheus提供的Alertmanager可以实时的得到一些服务的告警信息,把这些告警信息以邮件或者短信的形式,通知开发以及运维人员

持续集成:开发人员将修改后的代码,提交到Github,运维人员可以通过自动化工具Jenkins Pipeline,从Github中获取到代码,将它打包成Docker镜像,最终使用K8S,集成整个Docker服务,我们将服务以Docker容器的方式去运行。

分布式事务:使用Seata

微服务划分图

在这里插入图片描述

版本说明

组件版本关系
在这里插入图片描述


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

相关文章

谷粒商城详细笔记

前言 mysql安装在腾讯云 redis安装在本地虚拟机master上 运行时,renren-fast这个项目要到单独开个idea窗口打开。 一、项目简介 1、项目微服务架构图 微服务:拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部…

谷粒商城之分布式基础(二)

6 商品服务 6.1 三级分类 商城的商品页面展示是一个三级分类的。有一级分类、二级分类、三级分类。这就是我们接下来要进行的操作。 6.1.1 数据库 首先我们在gulimall_pms这个数据库中的pms_category这个表下插入数据 商品三级分类SQL代码 6.1.2 查出所有分类及其子分类 1…

麦克

品牌:InvenSense Kingstate RS PRO 灵敏度:-27到-44db之间 方向性:全方位、单向性、噪声消除 标准操作电压:1.5V到3.3V均有 安装方式:导线、表面贴装、通孔 输出阻抗大小:1.8K、2.2K、200欧、350欧…

Kubeedge Beehive 模块源码分析

文章目录 概述结构Model --- 消息模型Header --- 消息头Router --- 消息路由资源操作资源类型 Context --- 上下文ModuleContext --- 模块上下文MessageContext --- 消息上下文GlobalContext --- 全局上下文方法 Channel Context数据结构方法ModuleContext 接口实现AddModuleAd…

谷粒商城简介(1~5集)

谷粒商城简介(1~5集) 一、项目简介 1、项目背景 1)、电商模式 市面上有 5 种常见的电商模式 B2B、B2C、C2B、C2C、O2O; 1、B2B 模式 B2B (Business to Business), 是指商家与商家建立的商业关系。 如:阿…

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

微服务 微服务架构风格,就像是把一个单独的应用程序开发为一套小服务,每个小服务运行在自 己的进程中,并使用轻量级机制通信,通常是 HTTP API。这些服务围绕业务能力来构建, 并通过完全自动化部署机制来独立部署。这些…

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