获得徽章 0
- #青训营 x 字节后端训练营#
【6.12签到】其实如果有客户端C、客户端D等N个客户端争抢一个zk分布式锁,原理都是类似的。
大家都是上来直接创建一个锁节点下的一个接一个的临时顺序节点
如果自己不是第一个节点,就对自己上一个节点加监听器
只要上一个节点释放锁,自己就排到前面去了,相当于是一个排队机制。展开评论点赞 - #青训营 x 字节后端训练营#
【6.11】其他方式接入
go-zero 的微服务还有非 etcd 的其他方式,我们依次说明他们的接入方式
直连
对于直连这种方式,您只需要在上面 dtm 的 etcd 配置基础上,将 Target 设置为空字符串即可。
直连的情况,不需要将 dtm 注册到注册中心。
K8S
对于 K8S 这种方式,您只需要在上面 dtm 的 etcd 配置基础上,将 Target 设置为空字符串即可。
在 K8S 中,将服务注册到 K8S 中,是由 deployment.yaml 完成的,应用内部,不需要进行注册。展开评论点赞 - #青训营 x 字节后端训练营#
【6.10签到】这里举一个分布式事务的典型例子——用户下单过程。
当我们的系统采用了微服务架构后,一个电商系统往往被拆分成如下几个子系统:商品系统、订单系统、支付系统、积分系统等。整个下单的过程如下:
用户通过商品系统浏览商品,他看中了某一项商品,便点击下单
此时订单系统会生成一条订单
订单创建成功后,支付系统提供支付功能
当支付完成后,由积分系统为该用户增加积分展开评论点赞 - #青训营 x 字节后端训练营#
【6.8签到】三个经典的缓存模式:Cache-Aside,Read-Through/Write through,Write Behind。评论点赞 - #青训营 x 字节后端训练营#
【6.7签到】ES是什么
搜索引擎 search engine
近实时 (Near) Real Time Search
RESTful API
分布式、高可用
面向文档存储,json格式
基于Apache Lucene展开评论点赞 - #青训营 x 字节后端训练营#
【6.5签到】从复制分了五个步骤进行:
步骤一:主库的更新事件(update、insert、delete)被写到binlog
步骤二:从库发起连接,连接到主库。
步骤三:此时主库创建一个binlog dump thread,把binlog的内容发送到从库。
步骤四:从库启动之后,创建一个I/O线程,读取主库传过来的binlog内容并写入到relay log
步骤五:还会创建一个SQL线程,从relay log里面读取内容,从Exec_Master_Log_Pos位置开始执行读取到的更新事件,将更新内容写入到slave的db展开评论点赞 - #青训营 x 字节后端训练营#
【6.3签到】「记忆化搜索」本质是带“缓存”功能的「暴力递归」:
它只能解决重复计算的问题,而不能确定中间结果的访问时机和访问次数,本质是一种“自顶向下”的解决方式;
「动态规划」是一种“自底向上”的解决方案 :
能明确访问时机和访问次数,这为降低算法的空间复杂度带来巨大空间,我们可以根据依赖关系来决定保留哪些中间结果,而无须将全部中间结果进行“缓存”。展开评论点赞
![[快哭了]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_47.63391a1.png)