|
从0到Go语言微服务架构师
3 ]9 Y/ R v4 }" m" M├──1-100_9-4什么是JWT授权机制.mp4 81.94M4 n+ \) r# ]- r; P$ F& l
├──1-10_1-10数组.mp4 146.25M
4 a2 ?0 t# s3 ^! ?" I, k( C2 {├──1-11_1-11切片.mp4 303.54M( D2 N L/ }* K1 n* T3 k7 l' g
├──1-12_1-12Map.mp4 125.33M
r- ^7 `: ]* {+ X! m7 k- R) B- Q├──1-13_1-13结构体与方法.mp4 129.03M
) X% K* J L$ E* r7 {. u├──1-14_1-14封装.mp4 182.58M5 C' `% Y }1 B7 N4 ?0 I7 \
├──1-15_2-1接口是什么.mp4 156.96M
( @+ v8 N4 h* r, ~( e" W9 O2 S├──1-16_2-2Go语言中的鸭子类型.mp4 83.91M
0 E- J5 v; @; k( n; X, V8 t├──1-17_2-3接口的实现.mp4 97.63M
5 N5 F/ w, }" o+ R& N├──1-18_2-4接口的值到底是什么类型.mp4 103.39M) z& A$ p& Q. K/ M; d0 G* V
├──1-19_2-5接口组合的威力.mp4 59.74M( K% [! l3 r/ ^8 W% S4 }- R
├──1-1_1-1安装Go语言.mp4 154.17M* K& ~ z) R* g! D/ W
├──1-20_2-6Go标准库中的接口.mp4 184.95M
6 j \0 D* y5 @- c├──1-21_2-7函数式编程.mp4 280.53M3 T" K) G3 A7 |0 C* ? o) |
├──1-22_2-8延迟调用.mp4 125.25M h0 L; e$ y' N& C, n/ o
├──1-23_2-9错误处理.mp4 98.28M
, k# ^ D9 }5 P: y( b├──1-24_2-10测试.mp4 101.63M6 N, Z- T2 [' ^+ c) m
├──1-25_2-11协程.mp4 110.16M
" O" ]6 r3 P! C├──1-26_2-12Go语言调度器的作用.mp4 37.92M
/ S5 D' a4 |% G9 U/ I& f├──1-27_2-13通道与协程.mp4 113.63M: C& _+ q3 h% ?# I" V5 f7 }3 \
├──1-28_2-14WaitGroup.mp4 43.80M
/ u$ Y( o- {: I/ b4 }6 T. s1 z├──1-29_2-15Select与协程.mp4 182.34M' X/ {/ ]4 t: {+ G2 {; V8 o
├──1-2_1-2安装ide.mp4 108.03M
~5 ?0 g4 Q; n1 q% u├──1-30_2-16锁Mutex.mp4 137.89M
D7 \: G/ X8 w: ?( h) P$ u├──1-31_2-17Go语言的依赖管理.mp4 100.02M. L5 M( j% v; D3 y
├──1-32_2-18GoModule.mp4 100.47M
( Q: t4 P5 V* }+ b% s$ j├──1-33_3-1Gin介绍.mp4 197.86M: g# n1 { G5 T' Z1 C
├──1-34_3-2Default()与New()初始化都干了什么?有什么区别?.mp4 53.31M3 S, e6 y, R m0 B g: G4 v5 W* N) ]
├──1-35_3-3Gin非常贴心的Group功能.mp4 139.80M
0 f* A4 ?1 y) z6 s! N% ~: y├──1-36_3-4Gin是如何获取Url参数的.mp4 228.95M _2 }# Q8 j7 T# ]2 q+ }
├──1-37_3-5Gin是如何处理GET和POST请求的.mp4 207.88M
' ^# `# j! A" V4 `3 ?# d# X├──1-38_3-6Gin如何处理表单验证.mp4 122.82M- l$ P4 L! z6 F. X) W( [: ?
├──1-39_3-7重点!Gin如何使用中间件?.mp4 302.77M; f. P' o* r( T$ j; Y
├──1-3_1-3定义变量.mp4 268.64M* j$ G4 U1 _% ]4 q J- v
├──1-40_3-8Gin的中间件是如何退出的?.mp4 142.11M* Y: ~& }' h; C$ y
├──1-41_3-9如何让你的Gin程序安全优雅的退出.mp4 101.09M
! |% W8 ]0 C9 T7 Y; D├──1-42_4-1ORM的前世今生.mp4 49.46M, U; I) @% G; v& `
├──1-43_4-2Go语言如何连接数据库.mp4 165.54M
3 o: E: w6 u; t* H├──1-44_4-3如何通过结构体生成表结构.mp4 114.99M$ F) {- D9 v! `0 } S/ `5 p
├──1-45_4-4数据库的基础操作-增删改查.mp4 251.73M, c6 e- v0 S; \# D4 F* p0 G
├──1-46_4-5Gorm更新零值的第二种解决方案.mp4 96.59M" N: D6 u; W ]/ `. C- g
├──1-47_4-6如何使用Gorm的Tag.mp4 97.82M
: a g1 i: I7 j: _ }1 H├──1-48_4-7避坑-update更新默认值.mp4 163.93M# t! N) {1 z- u$ f5 q$ n; z4 k$ x% l
├──1-49_4-8批量添加数据有几种方法.mp4 158.34M
3 D$ X* w/ I# p9 P% Z7 N1 @├──1-4_1-4内建变量.mp4 236.53M9 m) s: X9 P+ d, d
├──1-50_4-9查询记录的几种方式.mp4 273.96M i" {( R7 _% e& }3 e1 ^
├──1-51_4-10带条件的查询.mp4 159.70M( [; M# r+ |3 v5 p( n5 W
├──1-52_4-11多种更新操作.mp4 283.77M6 k& C$ |+ q6 t7 F& E
├──1-53_4-12真删除还是假删除.mp4 165.37M" ]* J! \% i) u2 c0 R' _
├──1-54_4-13如何添加有依赖关系的数据.mp4 111.23M
/ O) z# { m! M2 G! f( b" _├──1-55_4-14如何查询有依赖关系的数据.mp4 130.36M
) {$ W4 |& _! b7 U├──1-56_4-15一对多关系的数据添加和查询.mp4 206.21M4 c0 r9 k2 z: h! T4 ~2 n! J
├──1-57_5-1RPC简介.mp4 36.37M
' Q& ?. b ?( C( X$ P+ ~├──1-58_5-2Http的客户端如何调用服务端.mp4 160.70M
$ J2 n8 Z+ z. \4 F% r# X) Z├──1-59_5-3你要知道的RPC四要素.mp4 46.42M
4 A8 f& m& E4 A; L2 L├──1-5_1-5常量与枚举.mp4 71.36M! k' k0 E6 g# X( t% s
├──1-60_5-4第一个原生的GO语言RPC示例.mp4 209.06M( B! h' |5 {# B4 M+ [/ f* h
├──1-61_5-5如何让原生rpc跨语言如何高并发.mp4 173.07M
6 b3 B E; V4 A├──1-62_5-6grpc+protobuf在一起.mp4 80.34M0 p9 d. A, t% {/ \4 i5 N
├──1-63_5-7玩转protobuf必备工具.mp4 57.32M
! M/ |: [6 o; E; V# e├──1-64_5-8编写第一个Protobuf文件.mp4 56.14M, h: F/ @) p" r( q- j/ o/ j0 h2 P- R
├──1-65_5-9用代码比较protobufvsjson.mp4 196.22M0 Y3 C0 Q6 ?3 g
├──1-66_5-10如何生成proto对应的protobuf+grpc的代码.mp4 126.38M
9 k( i/ @; ]6 g├──1-67_5-11尝鲜GRPC+Protobuf.mp4 244.19M
5 k3 a M" }) u4 z2 P& o├──1-68_5-12GRPC的3种流式操作.mp4 698.94M8 F! ~7 ~% }6 \2 P
├──1-69_6-1Protobuf数据类型是如何与Go语言数据对应的.mp4 379.26M/ O$ w5 {; Q2 l9 ^# ]
├──1-6_1-6条件判断.mp4 167.55M
0 P7 Q" }5 G( j- {! M├──1-70_6-2你真的了解go_package吗?.mp4 81.21M, h1 x2 O. [3 `7 @
├──1-71_6-3这个锅是你的-proto顺序写错了.mp4 218.74M
1 J( }% {" U& k& D3 E# t9 ?├──1-72_6-4如何使用别人写好的proto文件.mp4 81.51M% z1 ^$ {( [! R: \2 G0 e* Y& {
├──1-73_6-5message嵌套,你觉得好用吗?.mp4 85.91M
) }* \+ ]% [, b* z├──1-74_6-6你要知道的Proto的枚举、map、timestamp3种类型.mp4 169.41M
+ s& X) N- @% N2 n4 c├──1-75_6-7GRPC调用其他GRPC是如何传递数据的.mp4 272.87M" |: m2 T$ U" b
├──1-76_6-8GRPC的拦截器怎么做.mp4 326.37M
& B7 F, F7 M) i/ z├──1-77_6-9如何用Metadata+GRPC拦截器做认证.mp4 271.08M
. D6 x4 D3 U) }* t├──1-78_6-10GRPC的错误处理如何做.mp4 204.08M3 w8 W6 Y& Y9 Z/ N( O+ l8 ]
├──1-79_6-11服务端如何返回错误,超时又怎么办.mp4 124.53M
* U* A, y* b( g+ p5 b. a# ?5 y8 B, z├──1-7_1-7循环.mp4 110.99M# u: o P- A: Z, j0 c+ K2 ^* g/ g
├──1-80_7-1如何高效的打印出日志.mp4 104.29M
! g6 V9 @/ a2 C8 z& u3 A├──1-81_7-2如何把日志输出都文件中.mp4 39.58M* }8 t8 g1 J" ~' W& k% {% d% f
├──1-82_7-3Gin+日志输出在一起.mp4 114.93M$ T! l8 `" W$ z/ \- n( A# x. t
├──1-83_7-4如何读取配置文件.mp4 116.58M7 Q! Q" j. v# l0 o) |& @( |
├──1-84_7-5如何不改代码情况下切换本地配置和生产环境配置.mp4 86.56M
7 t' s% I1 G; {* Q) @) l├──1-85_7-6gin+viper在一起.mp4 64.45M4 i" E1 W6 b/ x+ U
├──1-86_8-1账户微服务-表解构设计.mp4 34.01M: ]) U1 {: ^' s1 ~; ^0 I7 E
├──1-87_8-2账户微服务-生成表结构.mp4 32.01M
, z6 `- d& t. B/ }( T2 B├──1-88_8-3账户微服务-proto文件定义.mp4 74.41M
: ~$ A: p7 A8 @├──1-89_8-4获取账户列表.mp4 163.91M, g0 o3 v0 J b& Q# V A1 l
├──1-8_1-8函数.mp4 572.12M
, H! {5 K. l$ O) \& Z' C├──1-90_8-5通过手机号和Id获取账户信息.mp4 65.62M3 T0 s) T2 t: R% }7 B) ^
├──1-91_8-6密码加密的几种方式.mp4 110.92M
& z8 f2 E. C9 D n) m├──1-92_8-7如何让md5更安全.mp4 70.16M. X* }0 |# k* ^/ o+ F$ v
├──1-93_8-8新建账户.mp4 111.56M% M5 a5 A' ^+ F
├──1-94_8-9更新账户密码校验.mp4 62.96M
7 z$ I, l; a- V) d$ V. V├──1-95_8-10单元测试.mp4 64.67M7 l9 j% W0 G+ D( N! ~
├──1-96_9-1gin+grpc在一起,实现账号服务调用-1.mp4 101.93M. ~$ M5 N! m5 C8 @7 B" w1 \& m
├──1-97_9-1gin+grpc在一起,实现账号服务调用-2.mp4 128.97M
8 z' `1 W; f# _) ^├──1-98_9-2前端如何传递参数给GRPC.mp4 21.58M
. Z# ]! R! |* y3 O├──1-99_9-3为什么session在微服务下被淘汰了.mp4 72.56M7 Z5 _$ F9 J9 Z8 G6 }6 ?, T: I
├──1-9_1-9指针.mp4 389.61M2 R+ K" x; T* i% C
├──2-100_18-8链路追踪+GRPC在一起.mp4 149.89M
& O/ u6 r) P# s& K* d├──2-10_10-3如何让HTTP服务轻松在注册中心里成功注册-2.mp4 94.54M
7 A7 A; n2 b8 \2 W- T├──2-11_10-4viper+zap改造account服务端.mp4 80.73M- x( }7 Z1 Q$ l6 U
├──2-12_10-5如何让GRPC服务轻松在注册中心里成功注册.mp4 68.93M& V) T; }' [/ C* V/ ^
├──2-13_10-6如何通过注册中心成功调用到服务端.mp4 77.58M
& \ O5 E3 O- D! x2 C( a0 i├──2-14_10-7如何优雅的启动HTTP服务.mp4 141.04M1 Z, |1 a1 b; u' z9 X; o
├──2-15_11-1配置中心哪家强,我要如何选.mp4 114.71M6 m5 q4 X/ V, P6 Q: c6 e! v
├──2-16_11-2配置中心如何安装.mp4 73.67M& U( D, X7 e$ \
├──2-17_11-3如何通过配置中心做到开发和生产环境的隔离.mp4 154.18M& T8 H" {8 F% T' g
├──2-18_11-4Gin+配置中心在一起.mp4 216.81M
+ u9 |/ q6 D3 @" e├──2-19_12-1如何启动多个服务副本.mp4 66.21M
) B. x1 n" _* Q├──2-1_9-5Go语言如何生成JWT.mp4 211.71M
3 y; I% Q* p- o" t├──2-20_12-2如何理解负载均衡.mp4 121.68M
2 F4 T# n1 R! _├──2-21_12-3负载均衡的算法都有哪些.mp4 83.33M
' h& E {4 B( T* N9 A├──2-22_12-4如何让你的服务实现负载均衡.mp4 186.10M. v5 [5 I: X+ z* A& |! r% O* T6 S
├──2-23_12-5账号服务实现负载均衡调用.mp4 69.22M I: X! ^/ K& B1 e# E u/ ^) J$ v0 @
├──2-24_13-1分析产品数据库解构梳理.mp4 23.52M, d9 B* @: M: O% H0 U' r- S
├──2-25_13-2产品数据库建表.mp4 132.63M
; X# a R: O, p# q2 \) \$ c& I├──2-26_13-3产品相关业务功能梳理.mp4 98.70M
+ z( F6 f- j- ~7 [0 V0 g├──2-27_13-4产品分类相关业务功能梳理.mp4 54.42M, G6 b5 y5 O' ?! _, R7 o2 S
├──2-28_13-5品牌相关业务功能梳理.mp4 27.89M9 B! ~: z' p u* ]
├──2-29_13-6广告相关业务功能梳理.mp4 34.01M+ P( v+ W# p0 m: Q/ Y( K
├──2-2_9-6如何解析JWT.mp4 66.40M
~3 T: _5 G! D# {6 t# [├──2-30_13-7品牌分类相关业务功能梳理.mp4 43.48M' s- ~, y. M* n# d, n7 U: M! L2 N
├──2-31_13-8如何快速启动产品服务.mp4 109.47M
9 P3 d* F1 U( {" t% p├──2-32_13-9-1品牌相关业务功能实现.mp4 206.04M
4 m# f: _1 f( [5 G; n├──2-33_13-9-2brand删除和更新.mp4 35.58M
' Q$ `7 Z! m- d3 E9 w. z& d6 N: @$ |├──2-34_13-9-3brand模块单元测试.mp4 78.50M+ H# Z, t: d8 T) T/ J+ q+ z
├──2-35_13-10-1广告相关业务功能实现.mp4 61.89M
9 B8 f' q$ n3 i├──2-36_13-10-2广告相关业务功能实现.mp4 49.75M
0 w& ^3 T3 n8 @8 Z├──2-37_13-10-3广告相关业务功能实现.mp4 48.94M5 r! B, d* a; j$ q
├──2-38_13-11-1分类模块添加删除修改.mp4 91.21M, D% k, n, p A2 Q" @
├──2-39_13-11-2分类模块获取所有分类和子分类.mp4 75.76M
- _6 u, {8 }9 O, P3 m├──2-3_9-7gin+jwt在一起.mp4 146.30M
/ J8 ^" J7 d- @( i; t├──2-40_13-11-3分类模块单元测试.mp4 59.72M
: s: P+ _% u$ X) L4 i├──2-41_13-12-1品牌分类新建修改删除.mp4 70.83M9 r/ ]2 Q5 g% s9 Q' ]
├──2-42_13-12-2品牌分类查询.mp4 131.35M
% E+ B. b, ^3 p; k7 j├──2-43_13-12-3品牌分类单元测试.mp4 58.29M
' {: \( _ w' x8 `* X├──2-44_13-13-1基础函数构建(1).mp4 105.64M F! X7 F" u# O9 I
├──2-44_13-13-1基础函数构建.mp4 105.64M' D8 B6 B ^4 G6 L& W- e
├──2-44_13-13-1基础函数构建.mp4.aria2 0.05kb9 f( a* _+ V& O$ L' n
├──2-45_13-13-2产品模块新建删除修改.mp4 70.59M, ` g' ^2 [9 X: u% ^" J9 C
├──2-46_13-13-3产品模块列表和详情.mp4 115.01M
6 N$ }2 _4 D6 q8 ?% `; ^) o- _├──2-47_13-13-4产品模块单元测试.mp4 64.06M
" p8 l/ z3 b6 f% I c├──2-48_14-15分钟快速搭建web服务.mp4 49.95M
5 B" Q- ?/ l+ L z├──2-49_14-2如何获取产品列表.mp4 122.92M( y* |9 h0 ?0 \ A* L
├──2-4_9-8Go语言如何生成验证码.mp4 163.99M
) L0 `) K5 p8 u2 t7 s; K5 t├──2-50_14-3如何新建产品.mp4 77.91M, f6 k* @# f8 s2 K# ^0 ]
├──2-51_14-4如何获取商品详情.mp4 37.91M' J) |2 W# S' s# m
├──2-52_14-5如何删除产品.mp4 44.25M$ v4 G; C5 N' [( p
├──2-53_14-6如何更新产品.mp4 29.98M
0 T# ^; R: ^' y& g- x4 `$ Z├──2-54_14-7如何用Go语言设计多注册中心的方案.mp4 103.11M
8 y5 d6 m! x* L& k" h5 S/ M├──2-55_14-8如何实现注册中心优雅退出的方案.mp4 22.34M
/ l) c/ b% F. L) m/ H2 b$ U. d$ _├──2-56_14-9注册中心测试+产品模块测试.mp4 64.28M% h7 |: ~) N6 {; f6 ?( W/ Q
├──2-57_15-1库存有多重要.mp4 34.58M* ^3 F2 q) H3 t2 c9 M9 A- Z
├──2-58_15-2库存设计.mp4 36.09M
" Y) O8 v* V }; S: P7 v├──2-59_15-3库存GRPC服务设计.mp4 62.47M+ W) H# J$ w& F/ A
├──2-5_9-9如何使用gin+redis保存图片验证码.mp4 229.29M
0 y5 g0 {# L' P1 B├──2-60_15-4如何快速让库存服务跑起来.mp4 123.26M+ Y1 P Y, R% H
├──2-61_15-5如何设置库存,如何获取库存.mp4 98.65M* R6 t6 O2 r. P0 {" N# ^
├──2-62_15-8如何保证库存归还的数据一致.mp4 33.80M, N8 ?& O+ q6 C7 S7 V9 y7 p
├──2-63_15-6单元测试-设置库存+获取库存详情.mp4 78.40M
. s/ T3 O0 h! u0 j2 ]" e├──2-64_15-7如何迭代扣减库存保证数据一致.mp4 150.59M5 s) G3 t( d! R, r
├──2-65_15-8如何保证库存归还的数据一致.mp4 33.80M: D* M8 V/ D5 F- q( n
├──2-66_15-9单元测试-并发扣减库存+库存归还.mp4 88.71M$ G) A( D: q3 m6 f
├──2-67_15-10如何防止双11,618大促下的超卖.mp4 53.70M
- ?* E( v$ g( v6 w( Y8 Z├──2-68_15-11如何理解分布式锁.mp4 27.71M
1 c: D& x ^/ i0 Y3 K├──2-69_15-12常见的锁与分布式锁都有什么.mp4 43.40M
) U2 r( p% R: T1 Z; e" d } m& r├──2-6_9-10跨域真的那么难么.mp4 115.93M
5 Z7 L& |1 k8 m* K% B├──2-70_15-13数据库MySQl是如何实现悲观锁的.mp4 112.26M
G: c g2 a5 S# A2 }/ r( ?├──2-71_15-14如何使用Gorm实现Mysql的悲观锁.mp4 41.45M
' k: a$ d6 n4 J6 |; O& L* v├──2-72_15-15数据库MySql如何实现乐观锁.mp4 41.16M
1 \ Q1 R' N1 q2 B. }2 n$ q├──2-73_15-16如何使用Gorm实现Mysql的乐观锁.mp4 67.91M
9 q. L! l# _1 {, M3 H. C, n& t├──2-74_16-1购物车-买买买.mp4 13.16M
. r' ^4 R/ W) S9 r├──2-75_16-2购物车与订单服务的数据库设计.mp4 127.80M$ e* }" L/ s O: l% X* a2 D" y
├──2-76_16-3购物车服务接口设计.mp4 49.97M1 g( n5 }1 y. u2 A6 w
├──2-77_16-4快速启动Srv服务.mp4 64.80M2 L! O& q$ n$ U. l6 K5 J9 Y3 R. o) B
├──2-78_16-5如何添加产品到购物车和获取登录用户的购物车内全部商品.mp4 111.41M
& X) h& K! Y: C# t( E; m6 W├──2-79_16-6如何更新和删除购物车中的商品.mp4 57.36M
& _+ ?: [# ]. M+ X. e2 V k! x├──2-7_10-1如何安装服务注册和服务发现的基础组件.mp4 83.48M
- w$ M, |3 |' j├──2-80_16-7购物车模块单元测试.mp4 78.61M
" u6 d. o" o; x8 T# `├──2-81_16-8如何快速启动购物车的Web服务.mp4 111.84M
. o/ ?: b+ v) c) A% X- n├──2-82_16-9Web服务获取购车内产品列表.mp4 16.09M5 V4 {3 v8 d& R+ w- w1 O# q
├──2-83_16-10购物车Web服务的添加修改删除功能.mp4 44.57M. F% r7 T$ p: `
├──2-84_17-1订单模块功能梳理.mp4 23.91M
1 w( W3 U, e. y2 o├──2-85_17-2订单模块数据库设计.mp4 63.06M2 n; H3 v- t9 N
├──2-86_17-3订单服务接口设计.mp4 69.99M" A: H, t3 A7 k+ a6 {; _4 E
├──2-87_17-4如何分页查询订单列表.mp4 103.86M( G& |% a Q7 O/ \
├──2-88_17-5如何展示订单详情,如何更改订单状态.mp4 157.96M4 w. z# ]( E0 i1 s2 B
├──2-89_17-6前方高能-下单业务全流程讲解001.mp4 73.89M
% Y3 D5 w5 \" r1 G2 R├──2-8_10-2如何注册和注销你的服务.mp4 71.29M
7 D7 N4 W% \. n1 K4 j; v├──2-90_17-6前方高能-下单业务全流程讲解002.mp4 57.98M
2 i; j3 h; n5 d4 |├──2-91_17-6前方高能-下单业务全流程讲解003.mp4 129.21M
1 _( h2 l! B5 F1 u. m2 g! z% L├──2-92_17-7订单模块单元测试.mp4 89.04M
. l% Z' T$ T8 I4 Y. f) s4 d├──2-93_18-1-为什么微服务需要链路追踪.mp4 35.58M/ v8 @& v3 w# |5 Z# H F' C w
├──2-94_18-2如何选择合适的链路追踪框架.mp4 16.30M! l! m0 T. `3 ^1 i$ b7 l8 Z
├──2-95_18-3链路追踪工具架构设计长什么样.mp4 71.92M
; H' _- _* j/ q/ p# R1 x├──2-96_18-4链路追踪协议标准-opentracing.mp4 93.18M3 U9 g+ q3 ]/ g+ }4 J
├──2-97_18-5链路追踪工具的安装.mp4 48.82M. H0 w, \% K2 @
├──2-98_18-6如何使用Go语言完成第一次链路追踪.mp4 148.12M( L' A4 P; b$ }4 @
├──2-99_18-7如何使用Go语言发送多个嵌套的链路追踪.mp4 79.17M
, a7 H1 Q1 x# o├──2-9_10-3如何让HTTP服务轻松在注册中心里成功注册-1.mp4 163.39M' O$ G" }3 q- E" Y/ O- j
├──3-100_28-11img标签.mp4 19.65M
" X$ b6 h" Z. c2 c8 P├──3-10_19-8如何利用消息队列解决订单超时的问题.mp4 59.29M* b+ o8 U+ D3 f9 \" a( f
├──3-11_20-1限流、熔断、降级是什么鬼?.mp4 61.49M
3 @: o. K0 s$ q6 v/ C- f& J├──3-12_20-2限流技术哪家强?.mp4 29.14M: |4 @3 o* Q7 D0 L& a$ P
├──3-13_20-3流量高,如何通过qps限流.mp4 130.23M u' o2 D$ @4 Z! T- T( V
├──3-14_20-4如何限流突发流量?.mp4 122.68M
1 v4 c/ n/ L! n' i( e├──3-16_20-6如何做熔断?.mp4 69.76M& z0 M, D6 n! H0 G+ D/ B, C. V/ _; w
├──3-17_20-7熔断方式有哪几种?.mp4 61.46M( P2 B3 z+ f& h. ?) f1 w4 r X
├──3-18_21-1为什么库存和订单数据不一致.mp4 38.94M- A) R! ]. Q2 s+ }$ s
├──3-19_21-2Mysql事务与分布式事务.mp4 45.71M
# m# T5 r* E( \& ^! ~% ^3 q- N├──3-1_18-9链路追踪+Gin在一起.mp4 133.81M
# ?9 |4 w" f: j+ z4 ^* G├──3-20_21-3分布式系统中哪些方面会造成数据不一致.mp4 29.88M
& I- m$ S( e: g' }4 [├──3-21_21-4如何理解分布式中的CAP理论.mp4 41.53M6 O, y$ f0 Q1 G9 L
├──3-22_21-5如何理解分布式中的BASE理论.mp4 78.74M
' p/ w) A! }! I' C" ?; o" q& m, e├──3-23_21-6分布式事务常用解决方案都有哪些.mp4 56.09M ~ J6 B/ s" Z) \
├──3-24_21-7如何理解分布式事务TCC.mp4 42.72M
' @% B, J3 V$ @9 |8 `' l2 c├──3-25_21-8为什么TCC那么难.mp4 57.89M
9 x( q4 J1 v7 b9 T4 \; B! d├──3-26_21-9如何通过本地消息实现最终一致性.mp4 32.28M
( U) |* }& Y. K' x5 r g) j) x" J├──3-27_21-10如何通过可靠消息实现最终一致性.mp4 40.49M
, W, d4 m$ }( \├──3-28_21-11什么是最大努力通知方案.mp4 44.23M' A; a6 }5 \% C2 P! n2 G8 o8 W
├──3-29_22-1如何通过可靠消息实现最终一致性1.mp4 32.55M
6 z9 u0 ?$ q5 K6 B2 W: F├──3-2_18-10集成测试.mp4 52.86M
7 O- N9 O) ^3 p, U2 j' m├──3-30_22-2如何通过可靠消息实现最终一致性2.mp4 71.63M9 D7 U7 V3 _4 B5 T. B+ R
├──3-31_22-3如何发送带有事务的消息.mp4 82.51M
4 S5 X; R. a4 B C$ e1 v5 F├──3-32_22-4如何改造新建订单发送事务消息.mp4 88.36M
0 {5 w+ C: O/ Y. f# C├──3-33_22-5如何执行新建订单的本地事务.mp4 137.95M7 q$ s8 I0 x, ?' x {; l
├──3-34_22-6如何回查新建订单的本地事务.mp4 47.08M
% O; {& j5 B& o e" z" L├──3-35_22-7如何扣减分布式中的库存.mp4 92.68M4 b3 h% a( C6 P" U; c ]) t
├──3-36_22-8打通最后一公里:如何正确扣减和归还库存逻辑.mp4 85.73M
( r- N( S q& w; R5 P4 q├──3-37_22-9分布式事务-如何处理订单超时的订单归还问题.mp4 153.21M8 Y: D! u" ^' l5 G- t# ~
├──3-38_23-1如何使用redis实现分布式锁.mp4 130.28M
) r$ C. F( ~; P: ~. E; }3 m├──3-39_23-2如何使用分布式锁来控制库存扣减.mp4 157.23M
* |1 s% N$ @ w2 w$ D├──3-3_19-1为什么要使用消息队列.mp4 60.34M
9 `0 R" F `$ `├──3-40_23-3分布式锁如何保证数据原子操作的一致性?.mp4 39.50M
9 z4 |: y! Y t% m( @├──3-41_23-4分布式锁如何防止死锁?如何让锁续命?.mp4 31.53M
w/ Q1 i. e/ b, E: x; a9 }% `5 q├──3-42_23-5分布式锁如何防止被人篡改或删除?.mp4 36.40M
' U, R4 P9 x) v. j├──3-43_23-6-分布式锁在集群中,容易出现的问题是什么.mp4 17.64M0 {/ F8 {1 Q9 Y; [7 i$ \3 q
├──3-44_23-7如何解决分布式锁在集群中出现的问题?.mp4 94.40M/ ?" g2 ?5 T. ^/ {# d X6 T; l
├──3-45_23-8订单+消息队列单元测试.mp4 31.02M
H1 l! v% @: p' l( E+ c$ w( G├──3-46_24-1Docker是如何改变软件交付模式的.mp4 24.40M6 E' F/ [/ W4 B% G3 L; @! f
├──3-47_24-2Dockerfile常用命令详解.mp4 20.53M
9 R& J0 ^ u( D├──3-48_24-3如何制作自己的Docker镜像1.mp4 32.34M
y( U) d, n! {8 c' j% R├──3-49_24-4如何制作自己的Docker镜像2.mp4 63.80M
; O8 {9 d- X' |1 g) x" y! v8 Q├──3-4_19-2如何为Go语言选择合适的消息队列.mp4 41.07M
3 `" R6 C* P% ^6 j. E4 ]├──3-50_24-5如何让Docker镜像减肥.mp4 48.97M% r: u& Y7 D9 c
├──3-51_24-6如何管理你的镜像.mp4 28.96M2 C+ X w% t5 ]0 ~0 q* _
├──3-52_25-1k8s是什么.mp4 12.79M
9 J$ O5 q, a# ]- \+ r/ n) a├──3-53_25-2K8S核心功能.mp4 15.54M+ k1 P2 |% v$ Z0 v) b# O
├──3-54_25-3K8S是如何调度的?.mp4 3.77M
- q$ I1 Y z/ Q$ ], u5 A7 Q├──3-55_25-4K8S如何做健康检查.mp4 5.47M2 o% k4 f) p/ E
├──3-56_25-5K8S如何扩缩容.mp4 7.56M
; e7 o0 p G& w# F' H├──3-57_25-6K8S架构-Master篇.mp4 10.95M
2 O$ G$ y7 }, A7 r. g& j+ P! P├──3-58_25-7K8S架构-Node篇.mp4 9.16M4 D+ l! F$ N% H1 l3 `8 W- n. m
├──3-59_25-8K8S运行流程图.mp4 9.22M
. x/ ^- Z( t$ `; D) b9 {) z├──3-5_19-3如何安装和配置消息队列.mp4 80.63M Q x# ~+ \$ N( n$ V
├──3-60_25-9如何理解K8S中的POD.mp4 5.07M
4 k! I* L) U% K7 K├──3-61_25-10什么是K8S中的卷.mp4 3.92M
" _+ x" A% K# o' B7 `├──3-62_25-11如何理解K8S中的Deployment.mp4 6.08M: ?, K' H% R; k1 V. x; I
├──3-63_25-12如何理解K8S中的Service.mp4 8.11M
! y8 G# `; _, s0 z+ |3 S) \* [├──3-64_25-13如何理解K8S中的命名空间.mp4 4.90M8 e# i+ S3 T; D4 M0 O+ b* f
├──3-65_25-14制作和运行product镜像.mp4 29.03M
: {/ }: R7 D. d├──3-66_25-15编写Deployment.mp4 74.71M
' k) j s4 D, Y+ s2 d$ _+ K" |" e├──3-67_25-16编写Service.mp4 27.94M
; A0 S6 o0 m' v├──3-68_25-17编写Ingress.mp4 43.96M
4 F& m8 ~9 B( \. i" W├──3-69_25-18应用上云.mp4 111.12M
# Q* s8 u6 n/ z+ N {├──3-6_19-4消息队列的基本概念.mp4 131.82M
7 o7 k% I8 Y3 C$ P8 N├──3-70_26-1为什么需要网关.mp4 21.11M
: Q( L/ u% P! }├──3-71_26-2网关都能做什么.mp4 19.31M( K7 ?4 l9 X" y9 Y* K
├──3-72_26-3网关内部数据是如何流转的.mp4 11.00M
1 y& g8 E& x& p6 [/ F├──3-73_26-4如何搭建网关.mp4 66.72M" E& }8 A" a' m% L2 G
├──3-74_26-5网关是如何进行url转发的.mp4 16.93M! i- t* H: \. w% e/ u# R5 P6 o) W
├──3-75_26-6网关是如何请求到我们的服务.mp4 4.64M$ v* X* z1 _% i
├──3-76_26-7网关如何集成consul.mp4 23.43M
* x1 g% G; y8 M7 W0 r, d/ f├──3-77_27-1如何安装elasticsearch.mp4 49.03M$ Z. i/ g3 g6 M+ z) |! Y% ^& K
├──3-78_27-2如何学习elasticsearch.mp4 8.16M G1 S( k' x, s% [
├──3-79_27-3如何向elasticsearch中添加数据.mp4 13.18M8 Z' m: @6 v; j
├──3-7_19-5消息类型都有哪些.mp4 40.52M
k* W0 V, ?9 E├──3-80_27-4如何获取elasticsearch数据.mp4 12.92M
: c7 ?. {% Y C U├──3-81_27-5如何更新和删除elasticsearch数据.mp4 16.33M/ A: x$ J" M* ]+ ~8 X" `* ]
├──3-82_27-6Go语言如何操作elasticsearch.mp4 66.59M
+ S* g4 ~" e0 G$ E, @├──3-83_27-7elasticsearch如何与Go语言结构体转换.mp4 31.17M" ?1 v8 ~/ E {- T2 f, b
├──3-84_27-8elasticsearch+Product在一起.mp4 29.94M0 _2 I/ x- D3 I: {" {+ T
├──3-85_27-9Gin整合elasticsearch.mp4 13.95M% t5 @* m$ B, r$ n6 r. z
├──3-86_27-10如何同步mysql的数据到elasticsearch中.mp4 77.26M5 ]1 L8 `8 l0 F, L6 v
├──3-87_27-11如何保证elasticsearch中的事务一致性.mp4 29.25M4 Y* O' m* n. p w3 C8 E. ^, k" \
├──3-88_27-12如何处理中文搜索.mp4 35.76M! R( _! g6 K4 C0 i
├──3-89_27-13中文分词-单元测试.mp4 29.82M
1 g/ O2 i; l* f+ }4 s: N5 \! p├──3-8_19-6如何用Go语言发送消息到消息队列中.mp4 128.50M
k# q- { e: I( S) H├──3-90_28-1html介绍.mp4 29.90M3 U4 I1 l) V" l1 v- W
├──3-91_28-2如何快速生成html文档.mp4 3.64M) p Q# I# v( S' d/ S
├──3-92_28-3head+body介绍.mp4 25.83M5 a6 j& P# f2 O9 G$ _% w4 Y
├──3-93_28-4标签的使用.mp4 32.95M
. f ?: y; ~7 c# d( I, F- c├──3-94_28-5块元素与行内元素区别.mp4 11.11M- h- h1 X8 C* H: ~; d" e9 V R
├──3-95_28-6标题标签.mp4 7.98M0 X8 L; F9 H3 y- u
├──3-96_28-7段落标签.mp4 12.63M+ V$ Q+ R% t1 S. r8 N+ B* G/ L$ V
├──3-97_28-8容器标签.mp4 10.98M
7 @" `; l) g+ V: m( v' ^, ?6 m├──3-98_28-9a标签.mp4 29.62M, x5 a6 _+ \9 `4 ~ f R2 e8 s& X# g
├──3-99_28-10内联容器标签.mp4 9.56M9 B4 _8 r+ R2 h) o) i/ ~. g/ I) k8 n/ Y
├──3-9_19-7如何用Go语言读取消息队列中的消息.mp4 143.03M
. a% A X3 s! M├──4-10_28-21内边距和外边距.mp4 38.10M# g# j; S/ h' c( y/ t' P
├──4-11_28-22float.mp4 15.20M' Q8 q* c& {$ x( x& ]
├──4-12_28-23css与常见布局样式.mp4 7.95M! E" J# z, s0 E" ^6 c8 D2 T2 q
├──4-13_28-24列表ul和ol.mp4 11.99M
! U8 ~0 f9 T: s/ t4 m├──4-14_28-25表单.mp4 53.87M: w8 U5 S8 t$ h; `: ?, u
├──4-15_28-26表格.mp4 12.87M1 M9 w" s: X* t; F
├──4-16_28-27绝对地址和相对地址.mp4 11.42M7 G4 l4 i6 | U0 i+ z: g
├──4-17_28-28css选择器.mp4 42.44M& E5 V* }1 s7 y. Z. v" z
├──4-18_28-29内容溢出和显示方式.mp4 15.71M
' _- v" i. [! R. H6 }7 Y4 ]├──4-19_28-30定位.mp4 16.19M
1 m3 s5 @; X" P1 E# w├──4-1_28-12br标签.mp4 8.38M5 l* n" f! h( n/ ~; k# T( h3 `( u
├──4-20_28-31css优先级.mp4 8.26M
2 i4 d- M& |5 \- n# j/ o' R├──4-21_28-32js基础001.mp4 26.63M
T, [3 E# ^( q# x% {├──4-22_28-33js基本语法及规范.mp4 16.34M1 m, P, j3 |& x1 e* z
├──4-23_28-34函数定义传参返回值.mp4 17.98M- G2 C1 q9 o1 s( `: M8 h
├──4-24_28-35变量与函数解析.mp4 15.77M2 M9 R! u" Q8 |, I
├──4-25_28-36定时器.mp4 16.73M
2 G9 l7 x: b/ G├──4-26_28-37变量作用域.mp4 23.85M
7 J6 i1 n. Z& k3 ^; O* t: M8 ~0 f├──4-27_28-38ES6变量声明和赋值.mp4 13.41M
# [ u4 \* D% {: U! a5 A├──4-28_28-39ES6解构赋值.mp4 13.87M
" ^/ |8 P% P2 o) Q9 |# F5 X├──4-29_28-40扩展运算符.mp4 18.94M0 F- [8 e' ~7 G e8 \
├──4-2_28-13html注释.mp4 10.14M8 _/ ~5 T2 m5 i! C% Y+ g( T) K: ]
├──4-30_28-41箭头函数.mp4 36.60M
8 [9 d9 x I' R9 n( _├──4-31_28-42es6导出.mp4 11.91M1 q" ~# C8 g& s9 e; Y7 n4 T
├──4-32_28-43类与类的继承.mp4 36.61M* D' ] Q' N: z7 n6 k' Q* v
├──4-33_28-44异步与Promise.mp4 25.50M1 G2 k6 ^! p/ O0 k9 b- R, c7 |
├──4-34_28-45vue安装.mp4 24.10M
' ~/ g T9 X& _0 O2 P; x├──4-35_28-46第一个vue应用.mp4 20.83M
& o( P% C7 A V+ M$ L: J. M├──4-36_28-47vue条件判断.mp4 33.31M" L, P. i7 g2 r5 z
├──4-37_28-48vue循环语句.mp4 23.01M) @1 {; R6 {" R2 O v! y1 W
├──4-38_28-49vue方法和事件.mp4 17.31M
# N8 V- p4 @% ?! f7 X [( l0 Z! W├──4-39_28-50表单数据绑定.mp4 29.80M
0 ^3 N4 C" ~) r* l' ^├──4-3_28-14空格.mp4 15.34M
4 a' E' ^$ Q6 b7 W├──4-40_28-51vue声明周期.mp4 23.07M% x% N9 {3 l+ f+ G8 x& ]7 a' B
├──4-41_28-52vue路由.mp4 17.87M' Y! E! A. C0 j. @/ N$ O. L* p7 A. w
├──4-42_28-53axios发送数据给后端.mp4 33.45M5 k& Z7 ?, L8 t/ _: C
├──4-43_28-54vuex.mp4 50.49M
: H7 T3 n3 V) x# S! f0 N├──4-44_28-55vue代码全流程讲解.mp4 64.57M3 i- r$ ]' N3 h; K: w
├──4-45_28-56前端商城讲解.mp4 100.70M
0 [% v5 q2 G* a- i├──4-4_28-15和.mp4 10.90M% V G; [7 v7 V
├──4-5_28-16CSS介绍.mp4 17.32M7 r9 o. \; D. g, ~
├──4-6_28-17CSS三种种使用方式.mp4 16.14M
' e8 X$ r# v$ c5 m$ [/ E├──4-7_28-18类选择器.mp4 26.49M8 U9 D5 ~. Q$ q/ F% W, P% W
├──4-8_28-19层级选择器.mp4 39.11M
6 ^+ E. r) g8 u6 R5 c/ M└──4-9_28-20盒子模型.mp4 9.85M
! O7 y' I3 z* v; ]7 `( S) {
3 e4 e- {& T$ A5 c3 ]" e+ Z# J4 ]& m) H5 t# t( _ ]# @
/ S# _6 s! F( D; G$ c) w) i3 E
. g6 G, q" S, C% l
3 j- p, C* j7 ]
资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见+ Z' i4 y$ I3 D% j
% M" x- X0 R+ n6 m' s- v2 D& G
; F" ^" @3 I5 X. ?. I
6 @. C- _# L0 p$ X. L本资源由Java自学网收集整理【www.javazx.com】 |
|