谷粒商城收获记录2

谷粒商城【商城系统】完整总结 gulimall(谷粒商城) 是一个综合性的B2C平台,包括前台商城系统以及后台管理系统,基于 SpringCloud + SpringCloudAlibaba + MyBatis-Plus实现,采用 Docker 容器化部署。前台商城系统包括:用户登录、注册;商品搜索、商品详情、购物车、下订单流程、秒杀活动等模块。后台管理系统包括:系统管理、商品系统、优惠营销、库存系统、订单系统、用户系统、内容管理等七大模块。 阅读详情

谷粒商城收获记录2

1、分布式事务

单体服务中服务都在一个系统中,ACID好保证,但是分布式的系统中分为多个服务,每个服务的数据库也不同,这就造成了分布式事务问题。

传统代码中的注解已经不能满足情况

@Transactional
方法名称

使用此注解时操作本地事务小心事务失效问题!
比如在多线程失效、事务的抛出异常默认是runtime等等

seata解决办法

seata介绍
  • seata支持 AT、TCC、SAGA 和 XA 事务模式;

  • 分布式事务处理过程的一ID+三组件模型,一ID即Transaction ID XID,全局唯一的事务ID。

      TC (Transaction Coordinator) - 事务协调者
     维护全局和分支事务的状态,驱动全局事务提交或回滚。
     
     TM (Transaction Manager) - 事务管理器
     定义全局事务的范围:开始全局事务、提交或回滚全局事务。
     
     RM (Resource Manager) - 资源管理器
     管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。
    
seata AT模型使用

1、seata服务端安装

  • 下载地址:官网找的下载地址

  • 配置seata服务端(我的是zip包,1.4.2)
    配置registry.conf,有两部分,一部分是注册中心配置,一部分是配置中心,默认是file

    我采用的是nacos当作注册中心和配置中心
    在这里插入图片描述
    在这里插入图片描述
    配置file.conf
    在这里插入图片描述
    准备数据初始sql
    初始化sql在安装目录中conf/README-zh.md有记录
    包括了server端sql和client端sql,分别下载下来,其中server端的sql在刚才file.conf配置的数据库执行,client端的sql将要和本身业务数据库放在一起

2、客户端使用
参考官网例子地址:https://github.com/seata/seata-samples
使用过程中只需要配置好tx-service-group
这个必须和seata服务端的config配置的service.vgroupMapping.my_test_tx_group=default,一致,我的配置的是“my_test_tx_group”

业务代码中application中的配置:
在这里插入图片描述
seata服务端的配置
在这里插入图片描述

 @GlobalTransactional //加在原来@Transactional位置上
 service业务方法
需要注意问题
  1. 我使用官网案例时,总是启动不成功,nacos根本注册不上,一开始我以为是seata没配好,后来发现是我的nacos问题,我本机nacos安装的是1.3,但是官网例子是nacos是2.0,我后来又装了下nacos2.x才成功注册上
  2. 另一个疑惑是,本人不清楚业务端的seata是从哪找的,我把项目中resources下的registry.conf都删除了,还是能正常使用seata,这是我比较奇怪的,目前我的配置信息如下图
    在这里插入图片描述

消息队列解决办法

上述方式解决事务可用,但是高并发时候吞吐量会降低,所以采用了另一种解决策略,就是柔性事务,最大努力通知,以订单和库存为例
订单先创建,然后减库存,虽然不能同时保证订单创建完毕,就能扣除库存成功,但是可以保证库存肯定能扣减成功,保证了最终一致性。
采用消息队列方式进行分布式事务的处理
RocketMq有一种事务消息模式,也就是半消息,订单创建之前,可以发送事务消息,就是一条半消息,然后执行本地库的更新,成功之后,会将半消息状态修改,这时候这条消息就能被订单消费了,之后订单减库存。

谷粒商城 - 个人笔记(基础篇三) 电商后台管理系统+电商系统,掌握微服务的全套方案。该系统有商品服务、仓储服务、订单服务、购物车服务、检索服务、认证中心服务、网关服务、用户服务、秒杀服务、第三方服务。使用SpringBoot+SpringCloud并配套SpringCloud Alibaba系列,引入全套微服务治理方案:Nacos注册中心/配置中心、Feign远程调用、Gateway网关、Redisson缓存、基于ElasticSearch7全文检索、异步编排与线程池、RabbitMQ柔性事务方案、Redisson分布式锁、分布式信号量等。 阅读详情

相关推荐

谷粒商城第一天-项目概述、架构、Linux环境搭建

收获其实也并不是很大,主要是从项目的宏观的角度整体的看那些组件,技术栈,浅浅的了解微服务,其实这一天主要还是对微服务的相关概念,一些组件了解。

m0_63445035的博客 2557

谷粒商城小心得

1.首先先把数据库的表关系整明白,然后再把表字段整明白 2.做业务逻辑操作时,能一次查询的就一次查询,查询完了在封装处理数据,例如一级分类,二级分类, 3.关于回显,可能不是简单的,回显出当前数据,可能还得展示其他的 例如,完整的分类的 path([一级,二级,三级分类]),这样可以展示出,完整的path,给用户选择 4.一般,做查询的时候,用reqeustParam() Map 来接收 数据量大的参数,但是用这种方法,前提是,你要的数据都是string类型的,不用做数据类型转化,,格式化啥的,因为Map的

Chen4852010的博客 333

谷粒商城项目(学习笔记一)

第一章:环境的搭建 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 第一章:环境的搭建 一、安装虚拟机 二、配置docker 1.官方网站 2.快速安装docker 三、测试docker 三、docker安装MySQL5.7 1.拉取MySQL5.7的镜像 2.运行MySQL并配置参数 三、docker安装Redis 1.用docker拉取最新的redis 2.配置参数并运行Redis 3.持久化redis 4.进入redis客户端进行检测 ..

qq_46396128的博客 2103

谷粒商城收获记录1

谷粒商城收获记录1 尚硅谷鼎鼎大名的谷粒商城,B站开源,最近看了,准备记录下笔记。 多记录下,留下些痕迹。 关于mybatis查询,嵌套查询这种 看了雷神好多的查询方法,包括树形结构,非树形结构查询,采用的是简单查询,mybatis中不进行连接查询,减少连接查询,这种情况会降低mysql查询出现笛卡儿积形式的查询,拖慢效率。 引入jmeter工具进行压力测试 写完了接口之后,往往不知道效率如何并发量怎样,可以采用jmeter来进行测试,拖累吞吐量的地方往往是网络连接,IO操作,主要由以下几个方面造成: j

sun_code的博客 371

谷粒商城项目(学习笔记三)

谷粒商城项目(学习笔记一) 谷粒商城项目(学习笔记二) 第三章:分布式部署 一、引入spring-cloud-alibaba 根据自己的版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub,引入需要的版本 我这里是2.2.6.RELEASE版的 <dependencyManagement> <dependencies> <dependency> <grou

qq_46396128的博客 1786

谷粒商城项目(学习笔记二)

第二章:初始化工程 一、初始化数据库 gulimall_oms #订单数据库 gulimall_pms #商品数据库 gulimall_sms #优惠券数据库 gulimall_ums #用户数据库 gulimall_wms #仓储数据库 二、引入人人开源 1.下载renren-fast和renren-fast-vue 在码云上下载renren-fast和renren-fast-vue 将renren-fast部署到idea上去 修改application-dev...

qq_46396128的博客 2966

谷粒商城-个人总结

java学习步骤-谷粒商城-个人总结 参考https://www.bilibili.com/read/cv5216534 尚硅谷韩顺平Netty核心技术教程 一、Java基础阶段 1.尚硅谷Java基础教程(√) 2.尚硅谷MySQL核心技术教程(√) 3.尚硅谷JDBC教程教程(√) 4.尚硅谷IDEA教程(√) 5.尚硅谷Eclipse&IDEA中Maven和Git快速配置及使用 6.尚硅谷Java15新特性教程 二、JavaWEB阶段 1.尚硅谷J...

多思考思考 544

ITK-snap进行分割区域标注、三维显示及改变显示颜色

在进行医学图像器官分割时,无论我们是用传统方法还是深度学习,最后肯定要用到手动分割的区域作为金标准来验证我们方法的精度。但是手动标注器官的轮廓是十分耗时的,这里我介绍一个比较简单的标注方法,以肺分割作为例子。 我们使用ITK-snap作为分割标注工具。 当切片间距离比较小时,比如1mm,一个患者的完整HRCT序列通常在200张以上,如果让医生一一进行分割区域标注是非常耗时乏味的。因此,我们可以使用最简单的阈值法比如OSTU,加上基本的形态学操作对肺进行粗分割得到粗略的分割掩码,在此基础上再手动的对分割结果进

u010409517的博客 2万+

谷粒商城项目总结

# 谷粒商城项目总结

index_163的博客 991

Android投屏开发实战:手把手教你用Miracast实现Sink端功能(附完整代码)

本文是一份Android投屏Sink端开发的实战指南,详细讲解了如何利用Miracast协议和Wi-Fi P2P技术,从零构建一个功能完整的屏幕接收器。内容涵盖环境搭建、通过反射启用WFD Sink模式、RTSP协议协商、RTP流接收与解析,以及最终使用IjkPlayer进行音视频解码播放的全过程,并附有核心代码示例。

cherry的博客 881

从零构建工业级SPI-CAN网关:CH347与CH9431的软硬件协同设计实战

本文详细介绍了基于CH347和CH9431芯片构建工业级SPI-CAN网关的完整方案。通过硬件架构设计、Linux驱动定制、并发处理优化和EMC抗干扰测试,实现高可靠性通信网关,适用于工业自动化和汽车电子等严苛环境。

spark7igniter的博客 633

谷粒商城 - 个人笔记(高级篇四)

电商后台管理系统+电商系统,掌握微服务的全套方案。该系统有商品服务、仓储服务、订单服务、购物车服务、检索服务、认证中心服务、网关服务、用户服务、秒杀服务、第三方服务。使用SpringBoot+SpringCloud并配套SpringCloud Alibaba系列,引入全套微服务治理方案:Nacos注册中心/配置中心、Feign远程调用、Gateway网关、Redisson缓存、基于ElasticSearch7全文检索、异步编排与线程池、RabbitMQ柔性事务方案、Redisson分布式锁、分布式信号量等。

知行 1万+

告别手动群发!用IDA Pro和CE搞定企业微信4.1.38.6011的HOOK开发(附完整代码)

本文详细介绍了如何利用IDA Pro和Cheat Engine进行企业微信4.1.38.6011的HOOK开发,实现自动化群发功能。从逆向工程环境配置、关键函数定位到HOOK框架设计,提供完整代码示例,帮助企业提升运营效率。

weixin_42533120的博客 479

谷粒商城学习记录

项目开发

bare_rain的博客 1690

跨模态行人重识别实战:Python复现SYSU-MM01官方评估协议

本文详细介绍了如何用Python复现SYSU-MM01数据集的官方评估协议,以解决原Matlab代码在Python生态中不便使用的问题。文章深入解析了数据集的`indoor`与`all`两种评估模式,并提供了完整的Python代码实现,包括特征加载、相似度计算、Rank-k与mAP指标计算等核心步骤,确保评估结果与官方Matlab版本完全一致,助力跨模态行人重识别研究。

weixin_29081163的博客 99

传统(经典)粒子群算法(PSO)解决单目标优化问题

智能算法:粒子群算法(particle swarm optimizer)—PSO %原理:(1)种群初始化–N(种群数)–D(个体数)–x(i)(粒子位置)–v(i)(粒子速度) % (2)计算每个粒子的适应度值–而适应度值需要选择适应度函数 % (3)对于每个粒子,使用它的适应度值fit[i]和个体的极值pbest(i)进行比较,如果fit[i]>pbest(i),则pbest(i)=fit[i] % (4)同理,对每个粒子用它的适应值与全局极值进行比较,如果比它大,则

weixin_51631044的博客 1295

谷粒商城笔记+踩坑汇总篇

环境的搭建、商品服务-三级分类、品牌服务、阿里云云存储+JSR303数字校验+统一异常处理、spu+sku、分页拦截器、商品服务、仓库服务、Nginx反向代理,thymeleaf+动态展示三级分类、缓存与分布式锁,Redisson+缓存数据一致性、ElasticSearch检索服务、异步和线程池、商品详情搭建+异步编排、认证服务、阿里云短信+验证码防刷+BCrypt加密、用户名密码登录+微博社交登录+SpringSession+xxl-sso单点登录、购物车、订单服务、幂等性、库存自动解锁。MQ延迟队列

种一棵树最好的时间是十年前,其次是现在 2万+

Altium Designer 超详细入门教程

本文是一份Altium Designer新手入门教程,详细介绍了从软件基础到PCB制版的全流程。主要内容包括:软件界面介绍与工程创建方法;原理图设计中的元件放置、电气连线、标注添加等操作;PCB设计的布局布线、铺铜和DRC检查;Gerber和钻孔文件的导出方法。教程还提供了分类整理的实用快捷键表和新手避坑指南,强调原理图编译和DRC检查的重要性。通过本教程,新手可以快速掌握AD基本操作,完成简单电路板的设计与制版文件导出。

学习中...... 841

谷粒商城笔记 + 完整代码 + 课件资料(基础篇)(学习记录)

谷粒商城基础篇完整代码 + 详细笔记(学习记录)一、项目介绍1. 谷粒商场微服务架构图2. 微服务划分图二、项目环境搭建1. 虚拟机搭建环境2. Linux安装docker3. docker配置mysql4. docker配置redisredis 配置文件解析redis 可视化工具安装5. 配置开发环境6. 安装vscode7. 配置git8. IDEA配置码云9. 初始化项目架构10. 初始化数据库三、快速开发1. 人人开源搭建后台管理系统2. 人人开源逆向工程搭建3. 测试基本的CRUD功能4. 快速生

weixin_44190665的博客 7万+

Windows11搭建GPU版本PyTorch 开发环境教程

Windows11搭建GPU版本PyTorch环境详细过程

世界那么大,我想去看看~【随心更新,看世界去了😄】 3236

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

谷粒商城学习-笔记大全

1,谷粒商城-01-项目介绍 2,谷粒商城笔记-02-项目整体效果展示

epitomizelu的专栏 5356

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

《谷粒商城》-项目简介以及环境搭建

《谷粒商城》项目 项目简介、环境搭建、项目结构初始化

Jodie_Girl的博客 8788

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

谷粒商城高级篇上(未完待续)

谷粒商城高级篇(上)保姆级整理 之前整理了基础篇,Typora提示将近20000词,在学高级篇的时候,不知不觉又整理了两万多词,当做一阶段,先发出来,剩余部分整理好了再发。自己也在学习的过程中,能力有限,如果有什么问题欢迎找我讨论。 文章目录谷粒商城高级篇(上)保姆级整理ElasticSearchDocker安装es**ubuntu中vi下删除键和上下左右键的异常解决**Docker安装KibanaElasticSearch 入门检索文档查询文档更新文档删除文档&索引bulk批量API进阶操作fi

唐尧的博客 1万+

谷粒商城2020学习记录

谷粒商城2020学习记录 视频链接

qq_37805900的博客 5595

谷粒商城完结

谷粒商城完成 上线的代码,我提交到prod分支了:https://gitee.com/dalianpai/gulimall 主要就是nginx的镜像制作,commit的时候,拿不到静态和配置文件,需要自己手写制作。 由于我之前K8s学过视频,跳过一些,ingress的控制器没有部署,导致一直不能访问,后来发现了,在这里把步骤补上。 还有最后几节就不看了,打算学别的了,有时间还是会在巩固一...

qq_29860591的博客 1351

纪念自己谷粒商城完成

谷粒商城是一个高并发、高可用、分布式架构的电商网站。高并发与压力测试、MySQL集群/读写分离、Elasticsearch分布式搜索集群、Redis缓存集群、Nginx+Lua分布式限流、Redis+Lua分布式锁、支付宝接口、Docker虚拟化容器部署、高并发秒杀解决方案、RabbitMQ消息中间件、MyCat分库分表、Canal订阅binlog抽取MySQL数据、Servlet3.0异步线程隔离、异步编排。

qq_44392492的博客 5702
上一篇: 谷粒商城收获记录1
下一篇: 线程状态聊聊
sun_code
博客等级 码龄12年 6粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值