26.3-冗余双写架构-商家创建短链-B端消费者开发实战_笔记

  • 视频连接地址
    通过网盘分享的文件:26.3-冗余双写架构-商家创建短链-B端消费者开发实战.mp4
    链接: https://pan.baidu.com/s/1HU-nSsx9BA_9ZcifN9U2xQ 提取码: hm2i
    –来自百度网盘超级会员v6的分享

一、B端消费者开发实战
B端消费者开发实战逻辑
B端消费者的开发实战逻辑与C端逻辑基本相似。按照该逻辑进行开发,具体过程如下:
1.上节内容bug修改
构造函数的使用与无参构造函数的添加
在我们进行编程时,如果遇到需要给类添加一个构造函数的情况,原本类中已经存在一个带有参数的构造函数,此时我们需要再添加一个无参构造函数。具体操作为:先定义一个无参构造函数,再定义一个有参数的构造函数,这样即可保证类实例化时不会出错。构造函数间存在重载关系,即方法名相同但参数列表不同。
无参构造函数的使用场景:当不需要对对象进行初始化操作时,可以直接使用无参构造函数创建对象。有参构造函数的使用场景:当需要对对象进行特定初始化操作时,应使用有参构造函数,以确保对象在创建时即具备所需属性或执行了必要操作。
2.B端消费者开发

  1. B端消费者开发功能实现
    在编程过程中,我们遇到相似的do操作时,可以直接复制,因为其内容基本一致。复制完成后,将内容插入到数据库中。注意,在插入之前需确保内容格式正确,避免无关内容。接下来,编写private关键字,并创建glucoRtMappingManage对象。然后,将该对象注入到系统中,并进行保存操作。在保存时,需确认groupMapDo对象已正确获取,并返回true值。最后,在代码底部返回false值,并进行代码美化。整个逻辑流程中,关键步骤包括判断消息来源是C端还是B端,并根据判断结果进行相应处理。请按照此逻辑进行编写。
  2. B端消费者开发功能介绍
    在构建短链分库分表及荣誉双写等机制,并确保这些基础设施完善后,短链的编写方式与常规编写方式无异,且清晰易懂。但总体架构相对复杂,需进一步完善。
    在笔记中,仍缺失一个关键逻辑:判断短链码是否存在。此逻辑需进行补充,并涉及加锁操作。关于加锁,存在一个常见疑问:为何加锁操作需在查询之前(即生成绑定密码后)进行,而非在查询之后、插入之前进行?这两个顺序能否互换?此问题涉及高并发场景下的处理逻辑。
  3. 加锁问题
    在数据库操作中,我们需要先加锁再查询。加锁的目的是为了确保数据的一致性和完整性。当我们对某个数据进行加锁后,其他线程或进程就无法同时对该数据进行查询或修改,这样可以避免数据冲突或数据不一致的问题。
    具体逻辑如下:
    加锁操作:在进行数据查询或修改之前,我们首先需要对数据进行加锁。加锁后,该数据就被当前线程或进程独占,其他线程或进程需要等待解锁后才能进行访问。
    查询操作:加锁成功后,我们可以安全地进行数据查询。此时,由于数据已被加锁,其他线程或进程无法同时访问,因此查询结果是可靠的。
    解锁操作:查询完成后,我们需要对数据进行解锁,以便其他线程或进程能够访问。
    注意事项:
    在加锁之前,需要判断数据是否已被其他线程或进程占用。这通常通过检查某个标志位或状态来实现。
    如果数据已被占用(即标志位不为空),则当前线程或进程需要等待。
    加锁和解锁操作必须成对出现,以确保数据的一致性和完整性。
    考点与易混淆点:
    考点:数据库加锁与解锁的逻辑、数据一致性与完整性的保证。
    易混淆点:加锁与解锁的顺序、加锁后的查询操作与其他线程或进程的访问关系。
    查询短链码是否存在
    示例
    在编程中,可以自主编写代码进行assert断言。首先进行判断,后续再进行修改完善。如果变量值等于null,或者为now时,表示该资源未被占用,此时便可以使用该资源。接下来,将此逻辑加入到程序中。在此过程中,可以考虑加入锁机制。在查询之前,原逻辑中未加锁,现在需要进行改进。先判断断列码是否被占用,然后在此处加入锁。目前尚未实现加锁功能,但明确需要在该位置加锁,加锁完成后再进行查询。这便是最应用的逻辑。
  4. B端消费者开发功能总结
    本讲内容主要是进行代码的编写与调整,旨在使代码更加简洁。
    需将需封装的代码进行封装,包括从摘要判断域名是否合法、生成管理码、加锁查询以及构建保存等功能。
    完成上述封装后,需启动代码并进行测试,检查是否存在报错。若无报错,则表明语法等基本无误。
    注意:此时功能可能尚未完善,但本讲内容至此已集中讲解完毕。
    3.代码提交
    代码提交步骤:
    执行git add .命令。
    执行git commit -m "b端解析开发"命令。
    执行git push命令将代码推送到远程仓库。
    注意事项:
    代码可以保存到笔记中,以便后续修改。
    代码较多时,可以自行调整缩进和换行,以便对比和阅读。

知识星球加入 我们

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值