真全栈程序员

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7892|回复: 194

Spring Cloud Alibaba微服务从入门到进阶

  [复制链接]
  • TA的每日心情
    奋斗
    昨天 11:39
  • 签到天数: 401 天

    [LV.9]以坛为家II

    1647

    主题

    2012

    帖子

    8496

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    8496
    发表于 2019-12-22 14:12:12 | 显示全部楼层 |阅读模式
    目录
    & j( S# W! e& Z├─第1章课程介绍
    - |7 S3 A" u9 T! ~$ y│      1-1本课导学% b5 j* N+ K! n; g$ \
    │      1-2项目环境搭建. g( n; x: |; \9 i$ L
    │   
    , H; b/ a& V& |+ Q1 D├─第2章SpringBoot基础
    # `% C6 N  v# {4 ]│      2-1本章概述0 }) @  Q+ L, U" J- U2 J
    │      2-2SpringBoot是什么,能做什么?  M* a! T( N* l
    │      2-3编写第一个SpringBoot应用% n! S8 h! @& M2 {5 S
    │      2-4SpringBoot应用组成分析" r. X& M3 w( ?
    │      2-5SpringBoot开发三板斧
    # d$ [2 ?8 N. N1 s: M0 E9 o3 F│      2-6必会:SpringBootActuator
    4 u. T2 T  h9 G3 `│      2-7必会:SpringBoot配置管理
    & q: k( s. \2 M* m% ]│      2-8必会:Profile
    - O4 L8 X( @0 K* E│      2-9本章总结' s9 ]( u* g4 }# W9 W8 O& L
    │   
    ; D# u! N: X$ _# v! K# I5 X* r├─第3章微服务的拆分与编写8 M4 q: k9 K4 x, M% A! I
    │      3-1本章概述: B# e0 h* S# H) Y+ O
    │      3-2单体应用
    % O  G( x2 v) F0 B3 z│      3-3微服务- |5 z9 @  c& `9 g& B, ?" _
    │      3-4项目效果演示7 U1 Q$ y. ~; K$ V, {
    │      3-5微服务拆分
    ) p2 C' o& i6 ]* o1 @│      3-6项目架构图
    + H* W! h) u9 U$ M& b& Z& d│      3-7数据库设计3 M' e+ K7 W8 G4 W7 s9 Q9 q
    │      3-8API文档
    # u; E  w, J+ K│      3-9如何创建小程序
    1 `9 Q& x1 |7 w│      3-10前端代码如何使用& g3 u7 |  R: \2 z2 f
    │      3-11创建项目-1) z+ C# E; h: ~9 d) v' D) E
    │      3-12创建项目-2
    5 j4 _+ B/ K8 t) i7 w& ]│      3-13整合Lombok简化代码编写8 M4 q+ r9 ~& ^9 ^+ l: m! s
    │      3-14解决IDEA的红色警告
    ; X+ r" Q6 \8 j. Z, B' i$ X│      3-15编写用户微服务与内容微服务-1
    3 c" t) R* w  ^1 y3 ]% ~, f│      3-16编写用户微服务与内容微服务-2/ Q* ^/ M$ h. j0 X
    │      3-17编写用户微服务与内容微服务-3% Y1 e$ z6 h1 I8 @& c
    │      3-18现有架构存在的问题
    * l1 X) o9 ?) J. o│     
    * @6 v; K; L5 d0 r& K' q├─第4章SpringCloudAlibaba介绍, _) y$ J% ^, x9 Z- [# R
    │      4-1SpringCloudAlibaba是什么
    6 p2 X7 k/ t# F2 _  C' P4 N│      4-2版本与兼容性【购课】( J  t! z8 R( P7 w2 R/ U& c
    │      4-3为项目整合SpringCloudAlibaba
    7 x" l1 f! C- {2 U│     
    3 d6 `9 ~; c7 i/ P3 w9 e  b. y├─第5章服务发现-Nacos( d& Q, r0 |4 b9 y/ I
    │      5-1服务提供者与服务消费者
    4 F3 |5 h$ z& K( t7 O, V7 O5 W│      5-2大白话剖析服务发现原理5 G+ {& G1 r1 e" B! d3 Q
    │      5-3什么是Nacos
    8 z2 {! p1 z- W1 P" P4 s│      5-4搭建NacosServer
    3 R% Z, c9 k* x* C2 \, c│      5-5将应用注册到Nacos
    : J+ B! g; r+ B" n! h│      5-6为内容中心引入服务发现
    * R# n9 s& R3 q0 T6 b# U│      5-7Nacos服务发现的领域模型
    1 j' o8 p' {. l  K/ E. t6 y' H│      5-8Nacos元数据
    4 ]) }  ?2 i" Q│      # Y+ |- B, q4 ^
    ├─第6章实现负载均衡-Ribbon
    & ^5 u4 R9 s0 o! c' n│      6-1负载均衡的两种方式; S4 N0 Q! h7 z( ~& w
    │      6-2手写一个客户端侧负载均衡器" A" L' w1 t, M" |& q7 T* z' z% P9 g/ G
    │      6-3使用Ribbon实现负载均衡: D; f1 B0 @0 f- c
    │      6-4Ribbon组成$ L0 i9 T; l& `; t6 O
    │      6-5Ribbon内置的负载均衡规则' m& {8 W% ]1 W* u6 ?! r
    │      6-6细粒度配置自定义01-Java代码方式
    6 f; K* T/ ^; j  H2 b6 ^5 }│      6-7细粒度配置自定义02-父子上下文, Z! r- Z" f+ K; \- |% R
    │      6-8细粒度配置自定义03-配置属性方式& I  @8 \; V/ a# k  L" r" G9 e: R
    │      6-9细粒度配置自定义04-两种方式对比
    : E0 M0 Y7 g1 A2 ^7 Q9 f$ b│      6-10细粒度配置自定义05-最佳实践总结2 i% F* Q( B# J7 A3 X% M+ j8 j
    │      6-11全局配置* c! v4 P' |5 \) a0 H7 d
    │      6-12支持的配置项
    ( y: G0 r2 c9 T$ X│      6-13饥饿加载- Q. u9 ]. ~+ ?: K
    │      6-14扩展Ribbon-支持Nacos权重
    9 X7 |" y, T1 ?# S# ]│      6-15扩展Ribbon-同一集群优先调用
    1 I9 \" P9 g% s' E1 |9 U│      6-16扩展Ribbon-基于元数据的版本控制
    5 _1 |; V; D- v! i│      6-17深入理解Nacos的Namespace) & O) l5 j& z2 s& X5 U
    │      6-18现有架构存在的问题购课加- C' s" l3 t& s; @. }+ S  x' d
    │   
    0 Y$ z: ~' q+ x. t├─第7章声明式HTTP客户端-Feign1 }# ~7 j+ F# Z* W# o
    │      7-1使用Feign实现远程HTTP调用- ]# F& A. d" B5 g0 [
    │      7-2Feign的组成* A, W# C* J* D4 T* ?
    │      7-3细粒度配置自定义-01-Java代码方式-指定日志级别9 g9 x* X) f8 T/ U
    │      7-4细粒度配置自定义-02-配置属性方式-指定日志级别
    3 }3 A! X0 M) J- p, _1 u: G│      7-5全局配置-01-Java代码方式-指定日志级别7 \6 C* H% v! D* G4 x5 p
    │      7-6全局配置-02-配置属性方式-指定日志级别( Y( b% q1 b0 O/ I6 P$ G
    │      7-7支持的配置项- h6 ?; e! m, M! T, m( f0 k
    │      7-8配置最佳实践总结
    : J2 o2 n: A; a) t│      7-9Feign的继承
    0 t* N; x2 x% w! W5 f- d2 M" V( H│      7-10多参数请求构造$ i  `( O& Q" F; r8 Z* }$ z  a; s  P
    │      7-11Feign脱离Ribbon使用1 V( {( o' V- Y& H
    │      7-12RestTemplatevsFeign# v4 N+ l! z4 [3 \6 G' U: S9 D
    │      7-13Feign性能优化
    / ?0 F! d0 Y8 g* r) ^. z6 G│      7-14常见问题总结& J" K9 {4 ]8 ^
    │      7-15现有架构总结
    " R  l- F: Y7 x" E│      1 c4 g. u) M5 h
    ├─第8章服务容错-Sentinel
    # H6 i$ N; F( T, x│      8-1雪崩效应( y4 Y( w7 m$ Z" g- z
    │      8-27本章总结:再谈常见容错方案. j& G" @0 Q0 N$ u5 D
    │      8-2常见容错方案3 {2 p$ c. m0 p0 l4 r
    │      8-3使用Sentinel实现容错
    8 K+ b( |3 q! j' b5 }) S/ A% z│      8-4Sentinel控制台
    / ~& j" ]$ g  s0 n' u/ @│      8-5流控规则
    ) `; i8 n) _) G$ F3 v│      8-6降级规则详解【使用、流程、注意点、源码】
    , e. m! u5 T* q% v│      8-7热点规则详解【使用、场景、注意点、源码】; U2 M5 U" i  P9 O% O+ F$ n7 I& a6 C
    │      8-8系统规则详解【使用、计算规则、源码】: t5 s1 ~1 C7 v1 |
    │      8-9授权规则详解$ s8 K% ~# g8 |. b/ L
    │      8-10代码配置规则9 X( [6 U2 I5 I$ V
    │      8-11Sentinel与控制台通信原理剖析
    $ j: o$ o, F3 Z: Q3 N; J3 s0 K/ p│      8-12控制台相关配置项
    6 e! D' |$ e: N" B7 E$ n│      8-13SentinelAPI详解6 b9 N, x0 R+ R& y$ u( X  U8 v
    │      8-14SentinelResource注解详解
    & d5 L' x4 ~. y│      8-15RestTemplate整合Sentine
    1 S  t. m; Y6 p* ~$ ~& G. R3 n│      8-16Feign整合Sentinel0 x- D& C) F( Z/ a% @1 G
    │      8-17Sentinel使用姿势总结- P! x1 D" z% n& P
    │      8-18规则持久化01-拉模式7 y, I# g' n, p, i9 I
    │      8-19规则持久化02-推模式: ^- w% |- ?% h: H6 P5 y
    │      8-20生产环境使用Sentinel+ ]( j2 U, W% Q
    │      8-21集群流控, A  ]) b  \( e1 S" n/ e
    │      8-22扩展Sentinel01-错误页优化# S. u- i8 k, ~
    │      8-23扩展Sentinel02-实现区分来源
    + X/ }4 |: X; n. z$ N9 v+ _│      8-24扩展Sentinel03-RESTfulURL支持
    , W- J7 J1 O( G5 x│      8-25扩展Sentinel04-透过现象看本质& }2 ]: p" \5 `8 l# J* {' `
    │      8-26配置项总结
    9 C. d) c  _7 M│      # a8 n' D- Y& V& u, `; m
    ├─第9章消息驱动的微服务-SpringCloudAlibabaRocketMQ, Q! m, i" l4 F
    │      9-1管理员审核分享业务实现
    1 u5 @6 L4 J- l0 r( |4 T8 s* \│      9-2引入MQ后的架构演进- s$ t" s( c# F
    │      9-3MQ适用场景
    $ L* f7 \) \. a3 O% d' C8 G* z│      9-4MQ的选择
    6 U+ P0 f5 U& Y9 V5 x+ p│      9-5搭建RocketMQ
    * S% b- y- d# S* k+ ^3 [│      9-6搭建RocketMQ控制台& P/ h* h$ B8 \% l# y6 V; r) [, ^+ P
    │      9-7RocketMQ的术语与概念
    " W4 V8 f5 j) C/ @" ?6 M# ?│      9-8RocketMQ进阶9 W, q" W* s  C1 S8 |
    │      9-9Spring消息编程模型01-编写生产者# |5 H: \8 J/ ?  \1 U4 q
    │      9-10Spring消息编程模型02-编写消费者; @. h+ x0 W, G4 B6 P7 K
    │      9-11分布式事务01-流程剖析、概念术语、事务消息三状态
    6 Y- X( N4 ]0 H' T" O" c│      9-12分布式事务02-编码实现0 ]0 u- P# `/ m3 b3 S
    │      9-13SpringCloudStream是什么?! Z  k# I" x* K7 c" Z0 k7 h9 d
    │      9-14SpringCloudStream编程模型6 H# `9 z. d: C$ _; a; X/ V) {
    │      9-15SpringCloudStream-编写生产者
    $ q" W2 J6 I2 j. z7 D, p│      9-16SpringCloudStream-编写消费者
    0 O1 r" W/ p3 s; E1 S' W, G│      9-17SpringCloudStream自定义接口01-发送消息【附带解决Mybatis的坑】1 H+ o/ Y0 R; W' r! B
    │      9-18SpringCloudStream自定义接口02-消费消息
    " K( ?$ o+ D: X3 g$ n│      9-19透过现象看本质
    : a# b+ u# H6 Q& O1 s│      9-20消息过滤: T, ~1 _, y, I- k
    │      9-21SpringCloudStream的监控
    ) b& y" h0 J( B: r, l: E│      9-22SpringCloudStream异常处理
    0 O% R0 Q( K8 r' M" X+ g8 Q│      9-23SpringCloudStream+RocketMQ实现分布式事务01-重构生产者
    * d* Z& n6 j2 B│      9-24SpringCloudStream+RocketMQ实现分布式事务02-重构消费者
    & ?7 h" |2 H) J: V; v* z! X$ V│      9-25SpringCloudStream知识盘点【必看】5 w, t8 W; i5 r  o5 ^" b0 R. Q* U
    ' J2 ^( B$ H* Y( h1 a" f( t- V
    ├─第10章API网关-SpringCloudGateway
    : M' x$ a; y0 t0 T- E! b│      10-1为什么要使用网关?6 q; x3 u5 ^0 {3 V7 l8 V" j8 g. \
    │      10-2SpringCloudGateway是什么?优缺点分析5 A5 Q" ]! J8 ^* W1 g! ?
    │      10-3编写SpringCloudGateway" c% A6 J  c. H4 r0 Y- v$ J' {
    │      10-4核心概念4 X& \( b* z: @, m; A$ y4 b1 |( l
    │      10-5架构剖析. Q% B7 t2 ^. o+ o
    │      10-6内置路由谓词工厂详解(RoutePredicateFactories)
    4 u7 Z0 ]' l" j/ G│      10-7自定义路由谓词工厂
    * F2 m0 Q+ M- b' _/ v% ^" z│      10-8内置过滤器工厂详解(GatewayFilterFactories)【详解&调试技巧】
    1 w9 P, V. }/ r( }: g, `│      10-9自定义过滤器工厂【生命周期、自定义的方式、核心API、编码】
    / S5 d, e8 T, k6 t0 [  ?│      10-10全局过滤器$ m% i! i  h% \. W9 _1 V0 |
    │      10-11悬念:如何为SpringCloudGateway整合Sentinel?  Y* T8 w$ e) J# q$ @- c
    │      10-12监控SpringCloudGateway+ T* ^" j9 K9 U2 r6 ]; V
    │      10-13排错、调试技巧总结【调试排错三板斧】
    " x$ h& s4 F4 P│      10-14进阶:再谈过滤器执行顺序
    7 p' }7 h7 {3 z& Y: e│      10-15SpringCloudGateway限流# y% J& T9 ~$ ]$ b1 h& a
    │      10-16本章总结2 Y) d  ]* X! Z- r  [5 |* d
    │      
    : ~& t7 ~0 g+ x% b, z├─第11章微服务的用户认证与授权% z: Q* m6 u0 c9 a) y2 {1 Q' S
    │      11-1认证授权——必然会面临的话题% k" a6 C9 W" q) E( f4 \5 z  V
    │      11-2有状态vs无状态. g% H% E! ~6 F& `" E/ z
    │      11-3微服务认证方案01-“处处安全”方案  ! z% M+ k1 z: \6 q: y7 R
    │      11-4微服务认证方案02-外部无状态,内部有状态方案
    $ p9 a/ U0 [0 `! g* C) P. t! l│      11-5微服务认证方案03-“网关认证授权,内部裸奔”方案
    ( l, z9 N* q7 a│      11-6微服务认证方案04-“内部裸奔”改进方案! p+ D2 l" T6 c( u) k( m
    │      11-7微服务认证方案05-方案对比与选择: c. `  T" I; M* w7 F% _0 Z4 Q
    │      11-8访问控制模型
    1 ^4 L6 k/ L5 Z9 w* E8 `& [│      11-9JWT是什么?【是什么、组成、上手】  D) X  ]# P4 V' M  q& h9 d# W1 t
    │      11-10实现认证授权01-实现小程序登录1
    . B/ R, n) \; b/ |4 y│      11-11实现认证授权01-实现小程序登录2
    , b; h/ T) x% K│      11-12AOP实现登录状态检查& Z5 T- Y9 ]+ M1 v5 N
    │      11-13内容中心实现登录状态检查
    4 S7 N) @  [/ w1 K' \2 ^+ V│      11-14Feign实现Token传递
    4 m: d  m8 j* Z  D│      11-15RestTemplate实现Token传递$ h: w7 R8 g, j) M) P0 }
    │      11-16AOP实现用户权限验证( [- K+ Q& u' p: H7 u
    │      11-17网关、用户中心、内容中心、前端登录授权集成测试7 ~2 l: W9 z3 X: B
    │      11-18本章总结7 e( U4 O6 c- _
    │      ! x5 m' G1 _8 y3 z
    ├─第12章配置管理-Nacos6
    5 A7 Y& {1 d6 I- `  H! y│      12-1为什么要实现配置管理
    , U7 b# A9 |) l! L3 n( F│      12-2使用Nacos管理配置. V2 v1 ?) p( ]+ W5 I
    │      12-3配置属性动态刷新与回滚(附回滚Bug)3 e4 I+ B$ _( M) w
    │      12-4应用的配置共享
    7 I" _# w& F. x/ |# n; Y; v  K│      12-5引导上下文; a, E+ X% [& r
    │      12-6数据持久化
      ?0 r9 q$ l$ S* z│      12-7搭建生产可用的Nacos集群
    9 K6 J; c. s6 R- G4 P& m  q, ~│      12-8配置最佳实践总结
    ; E* g1 E$ E- i8 Z│      & N& ?. G2 w5 y  R( f( G' @
    ├─第13章调用链监控-Sleuth
    / L. d- u; U' U. A│      13-1大白话剖析调用链监控原理+ T% K+ y% x, f( V
    │      13-2整合Sleuth6 e4 J) U- `, q! c3 u: Z
    │      13-3Zipkin搭建与整合
    # M/ }. w/ W- O+ z2 u│      13-4整合Zipkin之后Nacos报错解决
    & n/ g$ _& r9 V6 \. w! u│      13-5为所有微服务整合Zipkin
    & Y8 B. e1 F) \( N. @. f' }│      13-6Zipkin数据持久化(Elasticsearch)
    6 p5 R8 X6 F) U0 z' u. s│      13-7依赖关系图; C0 I* b; e2 ?0 t
    │  4 k" U7 N) V+ y2 j
    ├─第14章业务功能完善
    2 M7 i8 W% r1 K│      14-1本章概要) U& V+ H+ y9 D; N1 k7 g7 h( ?9 f
    │      14-2编写分享列表页; p6 n/ A. y& I) p
    │      14-3解决Mybatis结果映射问题+ {/ ^% i# I3 v2 k1 }8 Z; W
    │      14-4积分兑换指定分享1 [& }$ N) k0 ~
    │      14-5项目集成测试: ?2 o( T% B2 P( ^
    │  # d6 T' J8 P" m+ H
    ├─第15章进阶:既有代码优化与改善
    ; o, Z4 I1 _1 L% m) b│      15-1本章概述+ x$ ], O: j% u
    │      15-2简单指标:Statistic0 R4 g* P. B5 e; Y% o2 y
    │      15-3AlibabaJava代码规约
    5 l9 j! E, k0 s│      15-4SonarQube
    & d' I; a; V# z, X4 q│      7 Q. @; [& P  b: b) y, X2 a
    ├─第16章进阶:多维度微服务监控, I  N  e/ b6 ]* N3 y" Q
    │      16-1本章概要
    & N  f* y  ^2 p* A( k+ p' v/ z" e3 u│      16-2SpringBootActuator监控数据可视化
    + @: `1 K  t8 h│      16-3JVM监控
    * e; d1 F3 D4 s* y7 w│      16-4GC日志、线程Dump日志、堆Dump可视化分析
    " B7 n/ B# X/ X. {│      16-5日志监控
    2 ?8 x( Z1 ~. H6 X( C3 C4 S( t│      16-6其他监控
    : _, H; E" c! k3 Q│   
    ; T' B8 q) i& y$ A) |2 x1 P├─第17章进阶:完美融合异构微服务
    : `( \5 C' S4 N2 s& z. O│      17-1如何完美整合异构微服务?' R7 [  o( F! U+ R
    │      17-2SpringCloudWii实现完美整合
    * p( |" x8 u, H" \│      2 R2 F/ m+ @( u- E" ~
    ├─第18章课程总结
    6 `8 K. @! y4 ~4 p4 K4 S│      18-1课程总结' m4 ]6 K+ u# y$ P4 S1 L/ D
    下载地址8 Z0 X8 ?, x6 L7 a( c0 J6 u
    游客,如果您要查看本帖隐藏内容请回复
    ! o" `6 l$ D7 j; U
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-2-8 09:00
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    2

    帖子

    10

    积分

    凡人程序员

    Rank: 1

    积分
    10
    发表于 2020-2-8 10:21:25 | 显示全部楼层
    感谢楼主分享!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-2-8 20:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    2

    帖子

    10

    积分

    凡人程序员

    Rank: 1

    积分
    10
    发表于 2020-2-8 20:17:45 | 显示全部楼层
    谢谢楼主分享
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2020-2-14 12:28
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    3

    帖子

    17

    积分

    凡人程序员

    Rank: 1

    积分
    17
    发表于 2020-2-10 12:57:25 | 显示全部楼层
    感谢楼主分享!
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2020-3-14 18:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    4

    帖子

    20

    积分

    凡人程序员

    Rank: 1

    积分
    20
    发表于 2020-2-10 16:33:38 | 显示全部楼层
    谢谢楼主的分享
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-2-11 11:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    2

    帖子

    10

    积分

    凡人程序员

    Rank: 1

    积分
    10
    发表于 2020-2-11 11:09:36 | 显示全部楼层
    感谢lz分享
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-2-11 17:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    2

    帖子

    10

    积分

    凡人程序员

    Rank: 1

    积分
    10
    发表于 2020-2-11 17:35:07 | 显示全部楼层
    谢谢分享啊啊啊啊
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2020-2-16 18:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    2

    帖子

    10

    积分

    凡人程序员

    Rank: 1

    积分
    10
    发表于 2020-2-16 18:29:28 | 显示全部楼层
    感谢楼主分享!!!!
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-2-17 20:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    2

    帖子

    10

    积分

    凡人程序员

    Rank: 1

    积分
    10
    发表于 2020-2-17 20:05:02 | 显示全部楼层
    感谢楼主,楼主好人
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-2-18 10:17
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    2

    帖子

    10

    积分

    凡人程序员

    Rank: 1

    积分
    10
    发表于 2020-2-18 10:19:33 | 显示全部楼层
    感谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    回复

    使用道具 举报

    Archiver|真全栈程序员

    GMT+8, 2020-10-26 00:23 , Processed in 0.059803 second(s), 25 queries .

    Powered by 真全栈程序员

    © 2010-2019 Fstcode Inc.

    快速回复 返回顶部 返回列表