- 博客(26)
- 收藏
- 关注
原创 谷粒商城-高级篇完结-Sleuth+Zipkin 服务链路追踪
微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果。主要体现在,,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务参与,参与的顺序又是怎样的,从而。链路追踪组件有 Google 的 Dapper , Twitter 的 Zipkin ,以及阿里的 Eagleeye (鹰眼)等,它们都是非常优秀的链路追踪开源组件。
2025-01-06 17:31:47
1197
原创 谷粒商城-高级篇-Sentinel-分布式系统的流量防卫兵
Span(跨度):基本工作单元,发送一个远程调度任务 就会产生一个 Span,Span 是一个 64 位 ID 唯一标识的,Trace 是用另一个 64 位 ID 唯一标识的,Span 还有其他数据信息,比如摘要、时间戳事件、Span 的 ID、以及进度 ID。所以如果想要搭建生产可用的 Zipkin,就需要实现监控数据的持久化。请求一个微服务系统的 API 接口,这个 API 接口,需要调用多个微服务,调用每个微服务都会产生一个新的 Span,所有由这个请求产生的 Span 组成了这个 Trace。
2025-01-04 15:07:31
1026
原创 谷粒商城-高级篇-秒杀业务
添加“com.atguigu.gulimall.seckill.service.impl.SeckillServiceImpl”类,代码如下。添加“com.atguigu.gulimall.seckill.scheduled.SeckillSkuScheduled”类,代码如下。添加“com.atguigu.gulimall.seckill.controller.SeckillController”类,代码如下。
2024-12-28 16:47:39
1013
原创 商城业务-支付
公钥和私钥是一个相对概念它们的公私性是相对于生成者来说的。一对密钥生成后,保存在生成者手里的就是私钥,生成者发布出去大家用的就是公钥内网穿透功能可以允许我们使用外网的网址来访问主机;正常的外网需要访问我们项目的流程是:1.买服务器并且有公网固定 IP2.买域名映射到服务器的 IP3.域名需要进行备案和审核。
2024-12-15 20:58:34
1092
原创 商城业务-订单服务
接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用;比如说支付场景,用户购买了商品支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水记录也变成了两条..., 这就没有保证接口 的幂等性。
2024-12-12 17:15:33
791
原创 谷粒商城-消息队列Rabbitmq
异步处理应用解耦流量控制1.大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力2.消息服务中两个重要概念:2.1消息代理(message broker)和目的地(destination)2.2当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。3.消息队列主要有两种形式的目的地3.1队列(queue):点对点消息通信(point-to-point)3.2主题(topic):发布(publish)/订阅(subscribe)消息通信。
2024-11-23 19:59:16
1306
原创 谷粒商城-高级篇-购物车
一个购物车是由各个购物项组成的,但是我们用 List进行存储并不合适,因为使用 List查找某个购物项时需要挨个遍历每个购物项,会造成大量时间损耗,为保证查找速度,我们使用 hash进行存储。没登陆是临时用户,点击购物车生成一个user-key的cookie数据,然后登录后将临时数据和登录下已有的购物车合并。关闭浏览器后,未登录的临时购物车清空。首先不同用户应该有独立的购物车,因此购物车应该以用户的作为 key 来存储,Value 是用户的所有购物车信息。
2024-11-14 18:06:44
682
原创 谷粒商城-高级篇-认证服务
社交登录(gitee为例):1.先再gitee的数据管理的第三方用下注册一个自己的应用,填写好回调地址。2.在前端a标签上,href上链接到gitee的地址(携带应用信息,例如client_id和回调地址)。3.授权成功后返回到回调地址指定的页面,同时携带code码。4.在auth服务下写controller接受回调地址的接口,通过code请求access接口,获取accessToken。5.有了accessToken可以调用gitee的获取用户信息api,获取用户信息。
2024-11-08 20:16:02
990
原创 谷粒商城高级篇-商城业务-商品详情
1、用记事本打开C:\Windows\System32\drivers\etc\host(记得先把属性的只读模式去掉)2、配置Nginx之前配置了*.gulimall.com可以匹配上item.gulimall.com重启nginxdocker restart nginx3、改网关4、把详情页的html导入gulimall-product项目里5、给虚拟机的nginx传入详情页的静态资源(static里再创建一个文件夹item)6、把item.html的路径改了(ctrl+r)添加“com.atg
2024-11-01 20:19:55
956
原创 谷粒商城高级篇-异步
异步(Asynchronous)是指在进行多任务处理时,各个任务的执行不依赖于其他任务的完成,无需等待一个操作完成后再开始下一个操作。与之相对的是同步(Synchronous),同步操作需要按顺序执行,每个步骤必须等待前一个步骤完成才能开始。提高效率:允许程序在等待某个慢操作(如I/O操作)完成的同时,继续执行其他任务,提高了系统的整体响应速度和吞吐量。增强用户体验:在用户界面(UI)编程中,异步处理能防止界面冻结,保持应用的响应性。
2024-10-28 18:30:02
804
原创 谷粒商城高级篇-商品检索
通过$("#keyword_input").val()获取值。a标签点击事件:${'javascript:searchProducts("brandId",'+brand.brandId+')'}修改com.atguigu.gulimall.search.feign.ProducteFeignService类,代码如下。修改“com.atguigu.gulimall.search.constant.EsConstant”类,代码如下。
2024-10-24 21:27:43
873
原创 谷粒商城高级篇-缓存和分布式锁
Spring 从 3.1 开始定义了 org.springframework.cache.Cache和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术;并支持使用 JCache(JSR-107)注解简化我们开发;Cache 接口为缓存的组件规范定义,包含缓存的各种操作集合;Cache 接 口 下 Spring 提 供 了 各 种 xxxCache 的 实 现;
2024-10-16 10:15:47
387
原创 谷粒商城高级篇-压力测试
打印 Java 类加载器的智能统计信息,对于每个类加载器而言,对于每个类加载器而言,它 的名称,活跃度,地址,父类加载器,它所加载的类的数量和大小都会被打印。Throughput 吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;最大的并发数:最大的并发数和最大的 tps 是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。
2024-10-16 10:15:09
371
原创 Docker部署Springboot项目和vue
执行文件(websocker-server为起的名字)先clean再package。运行docker镜像。
2024-10-15 20:35:33
391
原创 谷粒商城高级篇-项目整合thymeleaf
现在需要明确部署情况,我们的nginx部署在192.168.119.127(虚拟机ip)上,而且是以docker容器的方式部署的,部署时将本机的/mydata/nginx/conf/挂载到了nginx容器的“/etc/nginx ”目录,gulimall-product服务部署在192.168.0.101(主机ip)上。但是这样做还是有些不够完美,“gulimall-product”可能部署在多台服务器上,通常请求都会被负载到不同的服务器上,这里我们直接指定一台设备的方式,显然不合适。
2024-10-14 16:46:53
864
原创 谷粒商城高级篇-Elasticsearch
全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它文档:序言 | Elasticsearch: 权威指南 | Elastic(其中中文文档都是比较旧的版本)
2024-10-11 16:09:36
1028
原创 谷粒商城 基础篇
前言 #都说谷粒商城烂大街,我认为他包含的内容是目前我所接触到的课程里面覆盖最全面的一个实战项目。所以在此我将我做的笔记进行分享,这里的笔记可能会与其他人的类似,仅作为参考。
2024-10-09 18:35:08
1730
原创 鸿蒙应用开发-图片像素转换一文搞懂
想要理解上述尺寸单位,需要大家先掌握屏幕相关的几个参数屏幕显示的最小单位,屏幕上的一个小亮点称为一个像素。屏幕上横向和纵向的像素数量。屏幕对角线的长度,以英寸(inches)为单位。像素密度是每英寸屏幕上的像素数量,通常以PPI(Pixels Per Inch)表示,计算公式如下。较高的像素密度意味着在相同尺寸的屏幕上有更多的像素,从而提供更加清晰和细腻的图像。如下图所示。
2024-05-05 17:59:49
707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人