真全栈程序员

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

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

  [复制链接]
  • TA的每日心情
    擦汗
    2021-4-19 01:29
  • 签到天数: 569 天

    [LV.9]以坛为家II

    2205

    主题

    2728

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    13135
    发表于 2019-12-22 14:12:12 | 显示全部楼层 |阅读模式
    目录, T" w$ g6 E2 ]* ?' e
    ├─第1章课程介绍3 u7 y, M2 F, [% y! P
    │      1-1本课导学) Z& w$ _0 x/ l$ a$ t
    │      1-2项目环境搭建6 m6 S1 A9 q2 t' F1 F# r- ?
    │   
    % X# W" e2 {' B% ^├─第2章SpringBoot基础
    5 ?+ D3 L8 \# m7 o8 J9 s& V  @│      2-1本章概述* `' D4 i# T# |, I2 h
    │      2-2SpringBoot是什么,能做什么?
    & W( n- }9 I9 v│      2-3编写第一个SpringBoot应用
    0 T6 z  T8 y1 s│      2-4SpringBoot应用组成分析
      e  x3 m% I/ N4 p/ n$ Y  p│      2-5SpringBoot开发三板斧
    / `: L: ?) X' Z- t# \: O$ d│      2-6必会:SpringBootActuator2 m8 N0 r7 U  C
    │      2-7必会:SpringBoot配置管理3 J% d. D- ^( ]$ P* t6 g
    │      2-8必会:Profile7 t: z6 X$ p2 r: [- g
    │      2-9本章总结/ l% t: e- n; q
    │   
    ) J3 C& Z8 {  i7 n├─第3章微服务的拆分与编写& {) F4 K# }/ F; b2 ?) v
    │      3-1本章概述+ j/ C( k9 y/ T; }
    │      3-2单体应用! }" i4 ~1 s0 c" w5 `/ U/ w6 s
    │      3-3微服务
    8 b2 X! y6 f* R8 e; P) t│      3-4项目效果演示
    7 g4 c& P& p  T; v│      3-5微服务拆分! N2 u+ f* x9 s7 c
    │      3-6项目架构图$ f7 K# i( c5 G* z% h
    │      3-7数据库设计, b3 P4 A  _( P8 A) [! M% n
    │      3-8API文档
    : S3 s- L6 a  @$ G│      3-9如何创建小程序
    6 N9 _" g; x; O+ [. p│      3-10前端代码如何使用( u( p- c7 W4 |! y! H1 {
    │      3-11创建项目-1
    7 H1 A4 A3 Q6 g# _│      3-12创建项目-2' U: _$ r+ F: @
    │      3-13整合Lombok简化代码编写
    & V. v. H' N, y/ V, C3 x│      3-14解决IDEA的红色警告
    " [9 H5 |4 P1 V# k! C: j│      3-15编写用户微服务与内容微服务-18 O, a' l3 P) ?
    │      3-16编写用户微服务与内容微服务-2' ]0 e, Y+ w5 O' m7 p
    │      3-17编写用户微服务与内容微服务-3
    ! k! F+ ?7 M& i$ y2 h│      3-18现有架构存在的问题
    ) I6 ?6 r& a4 n; Z3 Z7 R│     $ ]) j4 N( t6 k1 w& w$ s
    ├─第4章SpringCloudAlibaba介绍
    2 P0 J+ `# e" R7 |$ N. x│      4-1SpringCloudAlibaba是什么
    , P2 D# F! x8 u( u│      4-2版本与兼容性【购课】
    % x/ S! O0 K* J/ S+ ]1 F6 g│      4-3为项目整合SpringCloudAlibaba
    ( k3 [, K2 X# V! c│     ! X' o0 Z4 u8 X7 T8 a
    ├─第5章服务发现-Nacos& G' I9 k, o5 g  B: z, u
    │      5-1服务提供者与服务消费者
    ! D- h( ~5 W0 R. D│      5-2大白话剖析服务发现原理
    2 B9 p2 y" T6 _9 v│      5-3什么是Nacos9 h4 f  X: R) t" U
    │      5-4搭建NacosServer
    % b; }! o$ m4 O0 I$ \│      5-5将应用注册到Nacos. _( x# l, h1 ^& t8 n
    │      5-6为内容中心引入服务发现% [3 K* |  d! Q, R
    │      5-7Nacos服务发现的领域模型. @( C- |# S3 ~4 O+ Y# C
    │      5-8Nacos元数据
      O# l4 U9 N9 V│      
    % M/ o3 o+ U4 y$ T├─第6章实现负载均衡-Ribbon
    ; U$ \7 b% z  B: n8 _3 E│      6-1负载均衡的两种方式! |( Z$ ]' \1 H5 i
    │      6-2手写一个客户端侧负载均衡器3 p1 q+ o9 o; I5 l. @) a
    │      6-3使用Ribbon实现负载均衡
    4 v& @2 @# R9 n│      6-4Ribbon组成
    9 A1 `+ b: a( U0 |1 H│      6-5Ribbon内置的负载均衡规则
    9 B+ c2 |5 M! p, j% R│      6-6细粒度配置自定义01-Java代码方式$ N& a6 B) }6 E+ e9 Q. k4 Q
    │      6-7细粒度配置自定义02-父子上下文
    7 N* q" ?: U) S/ O│      6-8细粒度配置自定义03-配置属性方式3 e2 ^# |6 D% o* d5 T6 |
    │      6-9细粒度配置自定义04-两种方式对比1 F0 i& R6 [5 v! r
    │      6-10细粒度配置自定义05-最佳实践总结
    1 j0 ^  }: z; I" n( F/ L│      6-11全局配置& {* h2 @+ C+ q- i$ Z3 ]5 z! X
    │      6-12支持的配置项
    ) }# }3 M! a) N│      6-13饥饿加载
    * ^6 B; Z1 ~6 D* W1 S2 n0 X│      6-14扩展Ribbon-支持Nacos权重
    % |' G/ h6 r" w' k& D& q; l% m# g6 t│      6-15扩展Ribbon-同一集群优先调用( I- f; G: n2 E
    │      6-16扩展Ribbon-基于元数据的版本控制
    ( _+ |+ L; ~/ F3 u  s│      6-17深入理解Nacos的Namespace)
    / Z! O5 w; K5 C│      6-18现有架构存在的问题购课加% C! D! o( f3 b1 _- U
    │   
    0 k- u* K3 I  V1 `" }├─第7章声明式HTTP客户端-Feign
    " o' d' p& k0 \7 \' Y% {- E│      7-1使用Feign实现远程HTTP调用4 b2 _9 M/ c1 G8 D2 ]
    │      7-2Feign的组成
    & i' r8 b0 f. N4 O9 s6 Y) i+ D$ |│      7-3细粒度配置自定义-01-Java代码方式-指定日志级别. _0 y+ E9 _6 {) R
    │      7-4细粒度配置自定义-02-配置属性方式-指定日志级别
    5 O* o4 B$ l0 W2 W; v4 \$ F& v│      7-5全局配置-01-Java代码方式-指定日志级别
    5 A: P2 E3 U* v# E5 K9 \│      7-6全局配置-02-配置属性方式-指定日志级别0 H5 I% D5 Y6 @" M. @0 p% Y7 M
    │      7-7支持的配置项
    % h2 T( L1 @7 r% \0 O│      7-8配置最佳实践总结
    % E( o. A6 S! c& V- t│      7-9Feign的继承
    ) S$ _( m1 t, W1 L4 W. ^. ]7 f# I│      7-10多参数请求构造
    & i0 D/ S1 L4 k( x, y│      7-11Feign脱离Ribbon使用
    2 X3 ~* s( S0 `8 x│      7-12RestTemplatevsFeign
    8 v6 T2 o2 P8 q. d$ z│      7-13Feign性能优化
    2 v8 n5 K" P" B  R│      7-14常见问题总结
    - u7 L6 W) E5 E) r: E# ~" K% ~│      7-15现有架构总结
    * @! p; t  }4 D# v. t│      
    3 j) b1 y5 t  C├─第8章服务容错-Sentinel- n7 E  S0 A7 d4 a4 z
    │      8-1雪崩效应
    , B, j, ?, f! ]# G│      8-27本章总结:再谈常见容错方案
    * ?+ A4 m& L5 `6 d9 Z9 z* W│      8-2常见容错方案
    * ~/ H( L- h7 a. s│      8-3使用Sentinel实现容错% Q8 s0 J8 u' k7 r4 b' o8 a
    │      8-4Sentinel控制台
    9 {" h) W4 P# ~1 `% ^! n, U│      8-5流控规则
    . m( |) F) L- }" j$ o7 E│      8-6降级规则详解【使用、流程、注意点、源码】8 }) V, U- m( X7 h2 l
    │      8-7热点规则详解【使用、场景、注意点、源码】
    5 |7 }+ f' ?1 O2 @2 j3 o│      8-8系统规则详解【使用、计算规则、源码】$ B( F" G/ A# X; y' G
    │      8-9授权规则详解+ N: H2 k. m1 u, {+ H( A& [! w, l. v
    │      8-10代码配置规则
    - Q$ v0 H! [) T! G+ O│      8-11Sentinel与控制台通信原理剖析
    + D, ?! j2 k( Q9 m  z│      8-12控制台相关配置项
    ; x# Z3 _4 @" Q│      8-13SentinelAPI详解
    " |, J. @1 k' j+ c9 F  a│      8-14SentinelResource注解详解
    . a: u8 c, [$ w$ a# y│      8-15RestTemplate整合Sentine
    7 m/ N3 ~. c( _" U│      8-16Feign整合Sentinel
    & J/ a/ v: z  |) m│      8-17Sentinel使用姿势总结2 J# u3 g3 w9 H" f3 M: Z% u
    │      8-18规则持久化01-拉模式
    ) O+ t% E6 [& s' R│      8-19规则持久化02-推模式0 {; f4 g2 }: F5 z* Q
    │      8-20生产环境使用Sentinel
    ) _$ E/ l$ b/ i/ s7 o% }6 L│      8-21集群流控
    ' F. Q: L7 J5 z3 B; {│      8-22扩展Sentinel01-错误页优化9 Z1 f- G7 L. o1 I* J0 B( `6 E* q
    │      8-23扩展Sentinel02-实现区分来源$ A( B0 Z9 Y% {: M1 q: E( d+ B+ I
    │      8-24扩展Sentinel03-RESTfulURL支持' H, D0 p2 F* [( ^
    │      8-25扩展Sentinel04-透过现象看本质% \& d( L9 V% r4 M6 c3 r
    │      8-26配置项总结% ]1 T3 x1 l3 o0 R) a
    │      
    + @1 M/ m( ^9 w' x/ N4 Z( |├─第9章消息驱动的微服务-SpringCloudAlibabaRocketMQ4 B4 p$ F4 N( g, }+ a. ^
    │      9-1管理员审核分享业务实现8 G0 B5 O5 q: x& s' v
    │      9-2引入MQ后的架构演进
    $ m; A- o  Z$ o- F+ Z5 y/ H: e│      9-3MQ适用场景
    0 P2 c% P+ n2 b: g: i/ B│      9-4MQ的选择
      R4 C3 y0 g  i8 J# g" y, u│      9-5搭建RocketMQ1 J( ~- a/ U4 [/ V& o
    │      9-6搭建RocketMQ控制台
    & t' r* A( \7 j- |  Z; t9 |3 m+ c│      9-7RocketMQ的术语与概念
    $ p& G& J3 `0 d& N4 x2 {: O: t3 R│      9-8RocketMQ进阶; M, U0 }0 ~6 K2 [, X
    │      9-9Spring消息编程模型01-编写生产者- h1 w7 |: u- j, j7 a
    │      9-10Spring消息编程模型02-编写消费者
      v1 c7 U+ G+ P# c! t│      9-11分布式事务01-流程剖析、概念术语、事务消息三状态5 x. o3 A' {: W2 Y
    │      9-12分布式事务02-编码实现
    3 G* c& S/ U1 N. R, I; l│      9-13SpringCloudStream是什么?
    & v  f, \# l+ k# l% J8 S│      9-14SpringCloudStream编程模型: I; G! Y6 t# [4 t% ]; R
    │      9-15SpringCloudStream-编写生产者
    ) d8 Y8 u' ?. r: j$ Y│      9-16SpringCloudStream-编写消费者
    ( D- D% }+ W# T1 m8 s│      9-17SpringCloudStream自定义接口01-发送消息【附带解决Mybatis的坑】/ l9 Q/ K: Z6 \6 k
    │      9-18SpringCloudStream自定义接口02-消费消息
    ( p5 Y+ S% X* n1 O- L  @│      9-19透过现象看本质( B4 P$ R' K; X% W/ M
    │      9-20消息过滤) ?4 d, i+ E; V1 ^" C% Z
    │      9-21SpringCloudStream的监控
    8 H& ^4 i7 l  }/ V3 N' [│      9-22SpringCloudStream异常处理
    - ?' K( `3 M0 v+ d( s│      9-23SpringCloudStream+RocketMQ实现分布式事务01-重构生产者3 k% r. s( j3 n, A  D8 K
    │      9-24SpringCloudStream+RocketMQ实现分布式事务02-重构消费者
    ; G) h1 B  ?* k1 [│      9-25SpringCloudStream知识盘点【必看】
    3 Q; x' s& h- T  ?: B& T. O4 Q5 r! O3 a* K
    ├─第10章API网关-SpringCloudGateway5 s' X& g( Z* e3 f$ [
    │      10-1为什么要使用网关?: g, s( Z7 w4 y5 j7 f$ `' [* w
    │      10-2SpringCloudGateway是什么?优缺点分析1 J- G# m% K+ x4 m4 [" X) ~
    │      10-3编写SpringCloudGateway
    0 N' E) |( P# |2 ^3 M/ w│      10-4核心概念  o2 Z: p" x+ H7 f: X, X
    │      10-5架构剖析/ q7 Q& F9 y1 u- C! @: o- I
    │      10-6内置路由谓词工厂详解(RoutePredicateFactories)& g5 O! [' P+ X! O
    │      10-7自定义路由谓词工厂& d$ k9 Q' ?0 [9 R  f% C
    │      10-8内置过滤器工厂详解(GatewayFilterFactories)【详解&调试技巧】  Z0 m# P6 C9 j$ R8 W9 ^7 j
    │      10-9自定义过滤器工厂【生命周期、自定义的方式、核心API、编码】
    7 B; h( t& s& o$ u│      10-10全局过滤器
    3 S+ O' V2 Y+ G) _: \3 v│      10-11悬念:如何为SpringCloudGateway整合Sentinel?" x8 ?- O" Q" K: f0 V
    │      10-12监控SpringCloudGateway5 G( [/ q9 {& D+ y5 e8 v
    │      10-13排错、调试技巧总结【调试排错三板斧】. Q% U% C0 |1 m1 W5 h& }
    │      10-14进阶:再谈过滤器执行顺序0 ^+ ^5 `( f+ A! a
    │      10-15SpringCloudGateway限流
    0 [8 M6 k1 L! Y1 f) D) x│      10-16本章总结7 G! E+ ^% n5 p; X" B
    │      
    % M) ]9 l8 P; e4 o; n) k" b: D├─第11章微服务的用户认证与授权
    % M) Y% t8 L. @/ n0 r& s. z│      11-1认证授权——必然会面临的话题3 s1 W+ w$ M! R( Q- r
    │      11-2有状态vs无状态, e$ Z) `6 |" R
    │      11-3微服务认证方案01-“处处安全”方案  
    " ^6 w' l# l2 a3 [│      11-4微服务认证方案02-外部无状态,内部有状态方案
    % D# N8 l: V: y* y4 T& [7 A/ b│      11-5微服务认证方案03-“网关认证授权,内部裸奔”方案7 C8 n' E' S. {+ |5 `' |7 S
    │      11-6微服务认证方案04-“内部裸奔”改进方案! f* p, R3 }; D5 a5 {' j, l6 _
    │      11-7微服务认证方案05-方案对比与选择
    0 R3 [# H! B5 a│      11-8访问控制模型
    + l) B0 y- `, c, J! i│      11-9JWT是什么?【是什么、组成、上手】
    & u, P  j9 d% E│      11-10实现认证授权01-实现小程序登录1% b) w/ B1 n' A2 V  s" j# A
    │      11-11实现认证授权01-实现小程序登录2* R9 ]' x& P7 ]5 M
    │      11-12AOP实现登录状态检查& Z- m( E3 o7 R8 ?6 m
    │      11-13内容中心实现登录状态检查
    ; u, B0 E- U8 W! O│      11-14Feign实现Token传递$ d% c% @& Q0 l. f/ X
    │      11-15RestTemplate实现Token传递
    2 s5 B2 \- R9 c$ P9 _1 V│      11-16AOP实现用户权限验证" {- T( j) W8 f; g  G
    │      11-17网关、用户中心、内容中心、前端登录授权集成测试2 V" `- e+ U4 w' a
    │      11-18本章总结
    : Y9 h3 |* h6 Q* K│      
    ; x% W7 b* P- N% v' l0 k├─第12章配置管理-Nacos6; m  ]% ?% K6 v( L+ `! B& E
    │      12-1为什么要实现配置管理3 w; M/ v' O* b: g
    │      12-2使用Nacos管理配置
    ) T9 B1 I5 y! I( Z2 g│      12-3配置属性动态刷新与回滚(附回滚Bug)( H8 `$ o" H* G& I. ?
    │      12-4应用的配置共享
    * m/ e; N: P7 b│      12-5引导上下文
    1 _& Q! T* {, X% y3 t5 ?$ v7 N/ ^% {│      12-6数据持久化
    ' P# R) k  A3 z- b' G: t* b( }│      12-7搭建生产可用的Nacos集群
    / x0 a* R; ~3 R" t2 x│      12-8配置最佳实践总结1 l  b9 |4 T" L" Z4 t8 \' t- o3 @9 s$ d
    │      
    + Q! p8 a0 `  O├─第13章调用链监控-Sleuth5 n( g* F  V/ T# m
    │      13-1大白话剖析调用链监控原理
    & {( ~6 ~1 N8 O  x3 M, s7 u│      13-2整合Sleuth
    + l/ \3 F* N- v  ]- [8 c│      13-3Zipkin搭建与整合
    % s- E  g2 p2 ^6 ^2 d3 \) m│      13-4整合Zipkin之后Nacos报错解决
    1 n% g0 D4 q- z* V6 |│      13-5为所有微服务整合Zipkin' w, M% g/ C; P  [4 X( P
    │      13-6Zipkin数据持久化(Elasticsearch)3 T; v7 U; B3 [4 U7 \
    │      13-7依赖关系图
    % S9 h; ^8 x. }* X5 S. E│  5 ?; j3 T7 Q# v
    ├─第14章业务功能完善
    + y) w) x) b0 o" w) g5 g│      14-1本章概要' Q% L+ k- }5 i. m) \+ [9 P& g( j
    │      14-2编写分享列表页2 O1 I) W4 D: g
    │      14-3解决Mybatis结果映射问题' U/ o" v- E! H! A" `8 p; J
    │      14-4积分兑换指定分享
    " g3 j1 [( s# P' H0 \- P! I│      14-5项目集成测试
    : m# @  q( G5 Q2 `. \│  
    * S8 @$ K" N4 B' s- \├─第15章进阶:既有代码优化与改善1 ?; a; v3 F! `# `" ?& C: J8 F! I) P
    │      15-1本章概述# |, _" e/ |% k4 M  E
    │      15-2简单指标:Statistic) S0 g" I: H7 l3 _8 \5 c& |
    │      15-3AlibabaJava代码规约
    % W  A) A7 N% }5 L│      15-4SonarQube
    ) K& B  e+ b, k# Z$ u│      
    6 W9 w: N5 }. M( I2 e6 G- a/ I├─第16章进阶:多维度微服务监控5 u- t! [. B( Z, I+ q  l* b
    │      16-1本章概要
    , a2 e$ a0 R, i9 C! N; d+ B│      16-2SpringBootActuator监控数据可视化
    0 z. ~9 y' A8 ^- k" y│      16-3JVM监控
    ) a! f) o8 p6 p+ B( ~( V│      16-4GC日志、线程Dump日志、堆Dump可视化分析
    ( ]. @- ~# [+ T( y│      16-5日志监控; J) i) O% i" U' h( v) e
    │      16-6其他监控3 s8 g$ S0 A" |2 \2 k* [$ a8 h0 V
    │   
    * [# U( K& v' k7 _( C: U+ V1 ^├─第17章进阶:完美融合异构微服务; r9 `5 ~6 H$ O( Y3 g
    │      17-1如何完美整合异构微服务?
    , b7 n1 Y( C* Z6 i) ], G│      17-2SpringCloudWii实现完美整合
    & H' u& p" V+ E8 K, Q│      
    ) d0 E$ B( |# t1 n$ g├─第18章课程总结5 S/ |6 \3 w; H! B
    │      18-1课程总结
    $ _8 u8 |3 @8 f, e6 u下载地址1 T; A/ \0 `0 o' Z
    游客,如果您要查看本帖隐藏内容请回复
    ; |1 Y) R# k. e
    回复

    使用道具 举报

  • 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 | 显示全部楼层
    感谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    回复

    使用道具 举报

    小黑屋|真全栈程序员

    GMT+8, 2022-9-28 10:54 , Processed in 0.096707 second(s), 25 queries .

    Powered by 真全栈程序员

    © 2010-2019 Fstcode Inc.

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