谷粒商城
文章平均质量分 93
阿无,
这个作者很懒,什么都没留下…
展开
-
谷粒商城二十五springCloud之Sleuth+Zipkin 服务链路追踪
微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务参与,参与的顺序又是怎样的,从而达到每个请求的步骤清晰可见,出了问题,很快定位。原创 2023-05-08 17:52:00 · 1602 阅读 · 1 评论 -
谷粒商城二十四Sentinel限流&熔断&降级
我们即使再快也会有一个极限值,现在假设单机下每秒处理一万个单,这已经是超高的处理能力了,秒杀服务上了五台服务器,有三台掉线,但是秒杀请求网关直接放过了10w请求,全部放进来,那剩下的两台服务器就处理不过来,每台服务器的顶峰值是1w,所有的请求都得排队,排着排着就造成了请求的时间累积,时间一长,资源耗尽,服务器就要崩溃了。会把我们整个系统保护的非常稳定,即使百台服务器的大集群,有了Sentinel的保护,上线或者崩溃几台服务器,都是非常的稳定。,除了快之外,我们还需要保证。在我们的系统里面,我们使用。原创 2023-05-05 10:48:38 · 1206 阅读 · 0 评论 -
谷粒商城二十三秒杀服务
苏迎澜告诉小逸,没有一件事情是靠逃避解决掉的,去直面恐惧,才可以快点成长,保护自己。如果秒杀服务和其他服务(例如商品服务)混合起来,如果秒杀时间一到,瞬时流量全涌进商品系统,正常的购买商品流程可能就会瘫痪,系统就没有更多的能力去处理正常的功能了。秒杀是每一个电商系统中非常重要的模块,商家会不定期的发布一些低价商品,发布到秒杀系统中,秒杀系统的商品一般会放到首页展示,这样就可以引导用户购买商品。如果是普通的购买,由于时间段比较分散,任何时间都可以购买,留给某一段时间段的流量可能比较均匀。原创 2023-04-23 15:59:51 · 723 阅读 · 0 评论 -
谷粒商城二十二订单服务支付宝支付
那现在我们就想测试该怎么办?支付宝为我们提供了沙箱环境,我们可以在应用未上线之前来进行调试。按照正规的流程,我们的系统要接入支付宝,肯定是需要大量的审核过程,而且需要我们的项目上线。我们支付暂时只开发支付宝,原创 2023-04-15 23:13:18 · 949 阅读 · 0 评论 -
谷粒商城二十一订单服务分布式事务----RabbitMQ最终一致性
假设我们订单服务是成功的,在调用库存服务的时候,出现了假失败的情况,例如服务器故障、超时等原因,库存锁成功并且库存服务事务提交了之后,一直没有给订单服务返回,远程调用有一个超时机制,远程调用会抛一个类似readTimeout的异常,就会出现一个问题,如果是远程调用的库存服务出异常,首先库存服务自己会回滚,订单服务会在库存服务调用完成之后获取返回的锁库存的结果,得知发生了异常,订单服务也会抛异常,那么订单服务也会回滚。举个例子,订单服务的执行流程是,订单服务的逻辑、远程调用库存服务、远程调用优惠券服务。原创 2023-04-06 16:31:04 · 1126 阅读 · 0 评论 -
谷粒商城二十订单服务
【代码】谷粒商城二十订单服务。原创 2023-03-26 16:49:39 · 728 阅读 · 0 评论 -
谷粒商城十九购物车服务
每一个请求进来,tomcat会开一个线程给我们处理,从拦截器的执行,到controller,service,dao一直到请求结束给浏览器响应,从始至终都是同一个线程。ThreadLocal的核心原理,其实就是一个map,map的key时thread(当前线程),值就是当前线程要共享的数据。所以在同一个线程期间,所以下一个流程要共享上一个流程的数据,就可以使用ThreadLocal。状态下将商品添加到购物车【游客购物车/离线购物车/临时购物车】key不一样,值也就不一样,所以我们每一个线程是互不干扰的。原创 2023-03-19 15:04:43 · 295 阅读 · 0 评论 -
谷粒商城十八认证服务之分布式session
苏迎澜的父母离婚很早,妈妈看重自己的事业,经常在外地出差,由保姆照顾她的基本生活。虽然少了身边的陪伴,但当自己需要的时候,妈妈一定会第一时间回来。妈妈从不和她说哄小孩子的叠语,还会聊很多种大人世界里的事情。中使用HttpSession来传递返回的用户信息,结果发现登录成功后商城首页并不能获取到session中的用户信息。每个session都有它的作用域,认证服务只能获取认证服务的session,商城首页是商品服务的,自然是获取不到的。的时候,跨页面传递数据常用的是session。原创 2023-03-17 16:06:54 · 889 阅读 · 0 评论 -
谷粒商城十七认证服务之OAuth2.0微博登录
QQ、微博、微信、github等网站的用户量非常大,如果让用户用我们的网站,按照我们的注册流程来走,用户可能嫌太麻烦,这样就会损失用户。社交登录遵循的是OAuth2.0协议。原创 2023-03-13 18:13:18 · 445 阅读 · 0 评论 -
谷粒商城十六认证服务之注册和普通登录
谷粒商城十五认证服务原创 2023-03-04 14:05:45 · 309 阅读 · 0 评论 -
谷粒商城十五商品详情CompletableFuture异步编排
例如a,b,c三个异步任务,不是随机运行就可以,它们还有一定的关系,c需要等待a的返回结果,b不需要等待谁的结果。当异步任务产生一些关系和顺序之后,我们要编排好它们的关系进行调用,又是一个复杂的过程。我们可以用来解决这个问题。原创 2023-02-25 08:27:38 · 2699 阅读 · 0 评论 -
谷粒商城十四检索服务
刘怡婷知道当小孩最大的好处,就是没有人会认真看待她的话。她大可吹牛、食言,甚至说谎。也是大人反射性的自我保护,因为小孩最初说的往往是雪亮真言,大人只好安慰自己,小孩子懂什么。挫折之下,小孩从说实话的孩子进化为可以选择说实话的孩子,在话语的民主中,小孩才长成大人。替换index.html中的内容,并将静态资源全部复制到nginx中。修改windows本地hosts文件。在gateway模块添加路由至末尾。修改gulimall.conf。原创 2023-02-09 22:36:54 · 234 阅读 · 0 评论 -
谷粒商城十三缓存与分布式锁
为了系统性能的提升,我们一般都会将部分数据放入缓存中,加速访问。而 db 承担工作。哪些数据适合放入缓存?即时性、数据一致性要求不高的即时性:物流状态信息,可能五分钟或者五十分钟看一次,频率看的高,但更新的速度是很慢的,我们对即时性的要求也不高。一致性:数据库与缓存不一致,例如分类,修改之后我们可能并不需要立马保持一致,不会产生太大的影响。访问量大且更新频率不高的数据(读多,写少)商品一旦录入之后,我们很少去做一些修改,但是我们经常会查询商品的信息,我们就可以把它放到缓存中。举例:电商类应用,商品分类原创 2022-12-05 14:46:01 · 730 阅读 · 0 评论 -
谷粒商城十二性能压测及优化
在分布式开发中,我们将每一一种服务都抽取成一个独立的模块,微服务模块在真正的上线之前,甚至是上线以后,我们都要进行压力测试,才能投入正常的使用。知道了系统瓶颈,就可以通过一些负载均衡配置,避免给系统在单位时间内发送太多的请求,导致系统被压垮,以至于宕机。 90%响应时间(90% Response Time) 是指所有用户的响应时间进行排序,第 90%的响。对于互联网业务中,如果某些业务有且仅有一个请求连接,那么 TPS=QPS=HPS,一。互联网中型网站:1000TPS~50000TPS。原创 2022-12-02 19:19:25 · 1103 阅读 · 0 评论 -
谷粒商城十一整合thymeleaf渲染商城首页及nginx搭建域名访问环境
我们的商城系统本应该也是前后端分离的,就像后台管理系统那样,然而出于教学考虑,前后端分离的话就会屏蔽掉很多细节,所以我们进行服务端的(有点儿类似freemarker)这些页面直接粘贴到微服务中去就行了,用户访问所有请求,全部先访问的是nginx,nginx作为反向代理将数据全部转发给网关,网关再路由到各个服务nginx在后面部署的时候,我们可以将微服务中的页面的部署到nginx中,这样就在部署期间做到了,好处是可以分担微服务的压力动静分离中的静指的是:图片、js、css等静态资源(以实际文件存在的方式),最原创 2022-11-28 00:24:42 · 1349 阅读 · 0 评论 -
谷粒商城十elasticsearch搜索服务及商品上架
todo 名字之所以是谷粒商城十,是因为上一篇文章太少了,有时间将上一篇文章和九合并一下有关es的安装及原生操作,看。原创 2022-11-15 18:21:28 · 971 阅读 · 0 评论 -
谷粒商城九商品服务之商品属性及仓储服务todo
之前的文章我都是把整篇的代码直接复制到文章中,这样容易抓不住重点,从这篇开始,我会把重点代码单独择出来,在文章的最后再把完整的代码贴出来。原创 2022-10-28 12:45:22 · 1018 阅读 · 2 评论 -
谷粒商城八商品服务品牌管理之前后端数据校验
* * 错误码和错误信息定义类 ** 1. 错误码定义规则为 5 为数字* 2. 前两位表示业务场景,最后三位表示错误码。例如:100001。10:通用 001:系统未知 异常* 3. 维护错误码后需要维护错误描述,将他们定义为枚举形式 *** 错误码列表:* 10: 通用* 001:参数格式校验* 11: 商品* 12: 订单* 13: 购物车* 14: 物流**原创 2022-10-27 21:49:42 · 489 阅读 · 0 评论 -
谷粒商城七商品服务品牌管理之oss文件存储
在逆向工程的时候,resources下有一个view文件夹,下面都是可以直接使用的vue文件,我们将它复制到。我们在系统管理–菜单管理下新增,上级菜单是商品系统,名称是品牌管理,url是。此时就生成了和这个项目其他界面相似的带有crud的界面,中就可以直接生成crud界面。下面我们对这个页面进行优化。然后将我们逆向生成的。原创 2022-10-23 16:54:59 · 985 阅读 · 0 评论 -
谷粒商城六商品服务三级分类
递归-树形结构数据获取sql文件sql文件太大了,这个博主写的非常厉害,看他的就ok了CategoryControllerpackage com.atguigu.gulistore.product.controller;import java.util.Arrays;import java.util.List;import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;import原创 2021-12-26 21:32:39 · 1126 阅读 · 0 评论 -
谷粒商城五前端技术栈vue
mvvm思想M:即 Model,模型,包括数据和一些基本操作V:即 View,视图,页面渲染结果VM:即 View-Model,模型与视图间的双向操作(无需开发人员干涉)之前类似于jquery都是,jquery利用ajax请求到数据,通过各种选择器找到这个元素,然后对dom文档进行添加、删除、清空等一系列操作,才能最终在html中显示,如果元素很复杂,那么就需要我们写大量的内容。假设html的元素发生变化,我们都需要修改相对应的jquery代码,重新找到html中的元素,整个操作其实是非常麻烦原创 2021-12-24 12:46:55 · 798 阅读 · 0 评论 -
谷粒商城四前端技术栈ES6
ES6介绍ECMAScript 6.0(以下简称 ES6,ECMAScript 是一种由 Ecma 国际(前身为欧洲计算机制造商 协会,英文名称是 European Computer Manufacturers Association)通过 ECMA-262标准化的脚本 程序设计语言)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了,并且 从 ECMAScript 6 开始,开始采用年号来做版本。即 ECMAScript 2015,就是 ECMAScript6。 它的原创 2021-12-22 18:25:17 · 326 阅读 · 0 评论 -
谷粒商城end项目过程中遇到的问题
谷粒商城三分布式组件-SpringCloud AlibabaSpring Cloud 2020版本 bootstrap 配置文件(properties 或者 yml)无效背景微服务是基于Spring Cloud框架搭建的,Spring Cloud Config作为服务配置中心。业务服务只配置服务名称、启用环境和config的URL地址,其他都配置在配置中心,例如服务端口、服务注册中心地址等。可在开发环境(dev)、测试环境(test)和生产环境(prod)分别配置。所以预想的启动流程是:先加载配置原创 2021-12-18 15:24:45 · 427 阅读 · 0 评论 -
todo谷粒商城三分布式组件-SpringCloud Alibaba与SpringCloud
简介Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用 微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布 式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用 接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。 https://github.com/alibaba/spring-cloud-alibabaSpr原创 2021-10-08 19:09:55 · 574 阅读 · 1 评论 -
todo谷粒商城二本地虚拟机环境搭建及项目初始化
VirtualBoxVirtualBox相对VMware来说是轻量级的虚拟软件, 最关键的是VirtualBox是开源免费的。使用之前要开启电脑的CPU虚拟化,自行百度VirtualBox6.0.12下载地址之前创建linux虚拟机需要先下载镜像,然后创建,麻烦了些。使用Vagrant可以快速的创建虚拟机。Vagrant 官方镜像仓库Vagrant 下载学习视频B站链接:https://www.bilibili.com/video/BV1np4y1C7Yf?p=3...原创 2021-10-05 15:10:00 · 1539 阅读 · 0 评论 -
谷粒商城一介绍及基本架构todo
工作两年,技术依然在小白附近徘徊,即使有一些进步,但也不值一提两年的工作内容,几乎就是cv加一些简单的百度,从细节方面说,经历的细节不算多,从架构方面讲,自己远远达不到那个级别。谷粒商城主要是看,由于项目成熟,从开发到部署很完整,百度的生态也很好,决定从0开始开发谷粒商城,直到部署上线。原创 2021-09-27 11:11:06 · 19747 阅读 · 16 评论