范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Mycat进阶

  一、Mycat配置详解
  1、Mycat支持的两种配置方式
  Mycat从1.5版本开始支持两种配置方式:ZooKeeper及本地XML方式。Mycat默认以本地加载XML的方式启动,如果需要配置成以ZooKeeper的方式启动,则应把conf目录下zk.conf文件中的 loadfromzk 参数设置成 true。
  2、server.xml配置文件
  server.xml配置文件包含了Mycat的系统配置信息
  2.1、user标签
       user     TESTDB     true     TESTDB 
  user标签主要用于定义登录Mycat的用户和权限。在如上配置中定义了用户名和密码都为test的用户,该用户可以访问的schema只有TESTDB。
  若要在schema.xml中定义TESTDB,则TESTDB必须先在server.xml中定义,否则该用户将无法访问该TESTDB。如果使用了use命令,则Mycat会有如下错误提示:
  Error 1044 (HY000):Access denied for user "test" to database "xxx"
  可以修改user标签的name属性来指定用户名,修改password的值来修改密码,修改readOnly的值为true或false来限制用户的读写权限。如果需要同时访问多个schema,则多个schema之间使用英文逗号隔开,例如:
  TESTDB,db1,db2
  benchmark属性
  通过设置benchmark属性的值来限制前端的整体连接数量,如果其值为0或不对其进行设置,则表示不限制连接数量。例如:
  1000
  2.2、system标签
  2.2.1、charset属性
     utf8 
  2.2.2、processors属性
  processors属性指定系统可用的线程数量,默认值为机器CPU核心 每个核心运行线程的数量,processors值会影响processorBufferPool、processorBufferLocalPercent、processorExecutor属性。NIOProcessor的个数也由processors属性决定,所以调优时可以适当地修改processors值。
  2.2.3、processorBufferChunk属性
  processorBufferChunk属性指定每次分配Socket Direct Buffer的默认值为4096个字节,也会影响BufferPool的长度,如果一次性获取的字节过多而导致Buffer不够用,则会经常出现警告,可以适当调大processorBufferChunk值。
  2.2.4、sequnceHandlerType属性
  sequnceHandlerType属性指定Mycat全局序列的类型:0为本地文件方式;1为数据库方式;2为时间戳序列方式。默认使用本地文件方式,文件方式主要用于测试。
  2.2.5、MySQL连接的相关属性
  初始化MySQL前后端连接所涉及的一些属性如下。
  · packetHeaderSize:指定MySQL协议中的报文头长度,默认值为4个字节。
  · maxPacketSize:指定MySQL协议可以携带的数据的最大大小,默认值为16MB。
  · idleTimeout:指定连接的空闲时间的超时长度。如果某个连接的空闲时间超过idleTimeout的值,则该连接将关闭资源并回收,单位为毫秒,默认为30分钟。
  · charset:初始化连接字符集,默认为utf8。
  · txIsolation:初始化前端连接事务的隔离级别,后续的txIsolation值为客户端的配置值。默认值为REPEATED_READ,对应的数字为3。
  · sqlExecuteTimeout:执行SQL语句的超时时间,若SQL语句的执行时间超过这个值,则会直接关闭连接,单位为秒,默认值为300秒。
  2.2.6、心跳属性
  · processorCheckPeriod:清理NIOProcessor前后端空闲、超时、关闭连接的时间间隔,单位为毫秒,默认为1秒。
  · dataNodeIdleCheckPeriod:对后端连接进行空闲、超时检查的时间间隔,单位为毫秒,默认为300秒。
  · dataNodeHeartbeatPeriod:对后端的所有读、写库发起心跳的间隔时间,单位为毫秒,默认为10秒。
  2.2.7、分布式事务开关属性
  handleDistributedTransactions是分布式事务开关:0为不过滤分布式事务;1为过滤分布式事务(如果分布式事务内只涉及全局表,则不过滤);2为不过滤分布式事务,但是记录分布式事务日志。主要用于控制是否允许跨库事务,配置如下:
  0
  2.2.8、useOffHeapForMerge属性
  该属性用于配置是否启用非堆内存处理跨分片结果集,1为开启,0为关闭,Mycat从1.6版本开始支持此属性。配置如下:
  0
  2.2.9全局表一致性检测
  其原理是通过在全局表中增加_MYCAT_OP_TIME字段来进行一致性检测,为BIGINT类型。create语句通过Mycat执行时会自动加上这个字段,其他情况下需要手工添加。1为开启、0为关闭,Mycat从1.6版本开始支持此属性。配置如下:
  0  
  全局表一致性检测功能的使用说明及步骤如下。
  (1)在所有全局表中增加一个BIGINT类型的内部列,列名为_mycat_op_time(alter table t add column_mycat_op_time bigint [not null default 0]),同时建议在该列建立索引(alter table t add index_op_idx(_mycat_op_time))。
  (2)在对全局表进行crud时,可以将内部列当作不存在,建议不要对内部列进行update、insert等操作,否则会在Log日志中出现警告语句"不用操作内部列"。
  (3)因为全局表中多了一个内部列,所以在对全局表进行 insert 时必须带有列名,意味着SQL插入的语句必须是insert into t(id,name)values(xx,xx),而不能使用insert into t values(xx,xx),否则会报列数不对的异常。这样的操作可能会给开发工程师带来不便,将来会改善这个问题。
  2.2.10、useSqlStat属性
  开启SQL实时统计,1为开启、0为关闭。配置如下:
  0  
  3、 schema.xml配置文件
  schema.xml作为Mycat中重要的配置文件之一,涵盖了Mycat的逻辑库、表、分片规则、分片节点及数据源。
  3.1、schema标签
       
  schema标签用于定义Mycat实例中的逻辑库。Mycat可以有多个逻辑库,每个逻辑库都有自己的相关配置。可以使用schema标签来划分不同的逻辑库,如果不配置schema标签,则所有的表配置都会属于同一个默认的逻辑库。
                   
  如上所示配置了两个不同的逻辑库,逻辑库的概念等同于MySQL数据库中的Database概念,我们在查询逻辑库中的表时,需要切换到该逻辑库下才可以查询其中的表。   3.1.1、dataNode属性   该属性用于绑定逻辑库到具体的Database上,   
  3.1.2、checkSQLschema属性   当该值设置为true时,如果我们执行语句 ** select*from TESTDB.travelrecord; ** ,则Mycat会把schema字符去掉,把SQL语句修改为**select*from travelrecord;** 可避免发送到后端数据库执行时报"**(ERROR 1146(42S02):Table"testdb.travelrecord"doesn"t exist)"错误。   不过,即使设置该值为true,如果语句所带的schema名字不是schema指定的名字,例如** select*from db1.travelrecord;** ,那么Mycat并不会删除db1这个字符串。如果没有定义该库,则会报错,在SQL语句中最好不带这个字段。   3.1.3、sqlMaxLimit属性   当该属性设置为某个数值时,每次执行的SQL语句如果没有加上limit语句,MyCat也会自动在 limit 语句后面加上对应的数值。例如设置值为 100,则执行** select*from TESTDB.travelrecord;** 的效果和执行** select*from TESTDB.travelrecord limit 100;** 的效果一样。   如果不设置该值,则Mycat默认会把查询到的信息全部返回,所以在正常使用的过程中还是建议设置该值,避免过多的数据返回。   当然,如果在SQL语句中也显式地指定了limit的大小则不受该属性的约束。需要注意的是,如果运行SQL语句的schema为非拆分库的,那么该属性不会生效,需要手动在SQL语句后面添加limit。   3.2、table标签   table标签定义了Mycat中的逻辑表,所有需要拆分的表都需要在table标签中定义。
  3.2.1、name属性   定义逻辑表的名称,如同我们在数据库中执行create table语句的表名一样,同一个schema标签中定义的table的名字必须唯一。   3.2.2、dataNode属性   定义逻辑表所属的dataNode,该属性的值需要与dataNode标签中name属性的值相互对应。如果需要定义过多的dn,则可以使用如下方法减少配置   
  3.2.3、rule属性   该属性用于指定逻辑表要使用的规则的名字,规则的名字在 rule.xml 中定义,必须与tableRule标签中name属性的值一一对应。   3.2.4、ruleRequired属性   该属性用于指定表是否绑定分片规则,如果配置为true,但没有配置具体的rule,则程序会报错。   3.2.5、primaryKey属性   逻辑表对应真实表的主键,例如:分片的规则是使用非主键进行分片,那么在使用主键查询时,就会发送查询语句到所有配置的dn上;如果使用该属性配置真实表的主键,那么Mycat会缓存主键与具体dn的信息,再次使用主键进行查询时就不会进行广播式的查询了,而是直接把 SQL 语句发送到具体的 dn。但是尽管配置了该属性,如果缓存并没有命中,则还是会把该SQL语句发送给所有的dn执行来获得数据。   3.2.6、type属性   该属性定义了逻辑表的类型,目前逻辑表只有"全局表"和"普通表"两种类型。   · 全局表:type的值是global,代表全局表。   · 普通表:不指定该值为global的所有表。   3.2.7、autoIncrement属性   MySQL对于非自增长主键使用last_insert_id()是不会返回结果的,只会返回0。所以,只有对定义了自增长主键的表使用last_insert_id()才可以返回主键的值。Mycat目前提供了自增长主键功能,但是如果对应的 MySQL 节点上的表没有定义 auto_increment,那么在 Mycat 层调用last_insert_id()也是不会返回结果的。   由于insert操作时没有带入分片键,所以Mycat会先取下这个表对应的全局序列,然后赋值给分片键。   如果要使用这个功能,则最好配合数据库模式的全局序列。使用 autoIncrement="true"指定这个表使用自增长主键,这样Mycat才不会抛出"分片键找不到"的异常。使用autoIncrement="false"来禁用这个功能,autoIncrement的值默认为false。   3.2.8、needAddLimit属性   指定表是否需要自动在每个语句的后面加上limit限制。由于使用了分库分表,所以数据量有时会特别大。如果恰巧忘记加上数量限制,那么查询所有的数据需要一定的时间。   所以,添加该属性后Mycat将会自动为我们在查询语句后面加上LIMIT 100。如果语句中有limit限制,则不会重复添加。该属性默认为true,你也可以把该值设置为false来禁用默认的行为。   3.3、childTable标签   childTable标签用于定义E-R分片的子表,通过标签上的属性与父表进行关联。   
  3.3.1、name属性   定义子表的名称。   3.3.2、joinKey属性   插入子表时会使用这个值查找父表存储的数据节点。   3.3.3、parentKey属性   parentKey为与父表建立关联关系的列名。程序首先获取 joinKey的值,再通过parentKey属性指定的列名产生查询语句,通过执行该语句得知父表存储在哪个分片上,从而确定子表存储的位置。   3.3.4、primaryKey属性   同table标签所描述的。   3.3.5、needAddLimit属性   同table标签所描述的。   3.4、dataNode标签   dataNode标签定义了Mycat中的数据节点,也就是我们通常所说的数据分片。一个dataNode标签就是一个独立的数据分片。   如下所示为使用名为localhost1的数据库实例上的db1物理数据库组成一个数据分片,我们通过名字dn1标识这个分片。      dataNode标签的相关属性如表所示:   3.4.1、name属性   定义数据节点的唯一名字,我们需要在table标签上应用这个名字,来建立表与分片的对应关系。   3.4.2、dataHost属性   该属性用于定义该分片所属的数据库实例,属性值引用自 dataHost 标签上定义的 name属性。   3.4.3、database属性   该属性用于定义该分片所属数据库实例上的具体的库,这里使用两个维度来定义分片:实例+具体的库。因为每个库上的表结构是一样的,所以这样就可以轻松地对表进行水平拆分。   3.5、dataHost标签   作为schema.xml中的最后一个标签,该标签在Mycat逻辑库中作为底层标签存在,直接定义了具体的数据库实例、读写分离和心跳语句。    select user()   3.5.1、name属性   唯一标识dataHost标签,供上层标签使用。   3.5.2、maxCon属性   指定每个读写实例连接池的最大连接数。内嵌标签writeHost、readHost都会使用这个属性的值来实例化连接池的最大连接数。   3.5.3、minCon属性   指定每个读写实例连接池的最小连接数,初始化连接池的大小。   3.5.4、balance属性   负载均衡类型,目前的取值有如下4种。   · balance="0":不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。   · balance="1":全部的readHost与stand by writeHost都参与select语句的负载均衡,简而言之,当为双主双从模式(M1 S1,M2 S2,并且 M1 与 M2 互为主备)时,在正常情况下,M2、S1和S2都参与select语句的负载均衡。   · balance="2":所有的读操作都随机地在writeHost、readHost上分发。   · balance="3":所有的读请求都随机分发到writeHost对应的readHost上执行,writeHost不负担读压力,注意balance=3只在Mycat 1.4及之后的版本中有,在Mycat 1.3中没有。   3.5.5、writeType属性   负载均衡类型目前的取值有两种。   · writeType="0":所有的写操作都发送到配置的第1个writeHost上,writeHost1挂了则切到 writeHost2 上,重新恢复 writeHost1 节点后,不会再切回来,还是以 writeHost2为准,切换记录在配置文件dnindex.properties中。   · writeType="1":所有的写操作都随机地发送到配置的writeHost上,Mycat 1.5版本以后不再推荐使用该值。   3.5.6、switchType属性   ·-1表示不自动切换。   · 1为默认值,表示自动切换。   · 2表示基于MySQL主从同步的状态决定是否切换,心跳语句如下:   · 3表示基于MySQL Galary Cluster的切换机制(适合集群,Mycat 1.4.1及以上版本支持),心跳语句如下:   3.5.7、tempReadHostAvailable属性   如果配置了writeHost属性,下面的readHost依旧可用,则默认值为0。   3.6、heartbeat标签   这个标签内指明了用于后端数据库进行心跳检查的语句。   3.7、writeHost标签、readHost标签   这两个标签都指定Mycat后端数据库的相关配置,用于实例化后端连接池。唯一的不同是,writeHost指定写实例,readHost指定读实例,组成这些读写实例来满足系统的要求。   在一个dataHost内可以定义多个writeHost和readHost。但是,如果writeHost指定的后端数据库宕机,那么这个writeHost绑定的所有readHost也将不可用;另一方面,Mycat会自动检测到writeHost宕机,并切换到备用的writeHost上。   3.7.1、host属性   用于标识不同的实例,对于writeHost,我们一般使用*M1;对于readHost,我们一般使用*S1。   3.7.2、url属性   后端实例的连接地址,如果使用native的dbDriver,则一般为address:port形式;如果使用JDBC 或其他 dbDriver,则需要特殊指定。在使用 JDBC 时,则可以写为 jdbc:MySQL://localhost:3306/。   3.7.3、user属性   后端存储实例的用户名。   3.7.4、password属性   后端存储实例的密码。   3.7.5、weight属性   在readHost中作为读节点的权重(Mycat在1.4版本以后才有)。   3.7.6、usingDecrypt属性   同server.xml中usingDecrypt的配置。   4、sequence配置文件   在实现分库分表的情况下,数据库自增主键已经无法保证在集群中是全局唯一的主键,因此,Mycat提供了全局sequence,并且提供了本地配置、数据库配置等多种实现方式。   4.1、本地文件方式   采用该方式,Mycat将sequence配置到classpath目录的sequence_conf.properties文件中。   在sequence_conf.properties文件中做如下配置:   HOTNEWS.HISIDS= HOTNEWS.MINID=1001 HOTNEWS.MAXID=2000 HOTNEWS.CURID=1000   其中HISIDS表示使用过的历史分段(一般无特殊需要则可不配置),MINID表示最小的ID值,MAXID表示最大的ID值,CURID表示当前的ID值。   要启用这种方式,则首先需要在server.xml中配置如下参数:   0   注意:sequnceHandlerType配置为0,表示使用本地文件方式。   insert into table1(id,name) values(next value for MYCATSEQ_GLOBAL,"test");   采用这种方式的缺点是Mycat重新发布后,配置文件中的sequence会恢复到初始值;优点是本地加载且读取速度较快。   4.2、数据库方式   在数据库中创建一张名为 sequence 的表,有 sequence 的当前值(current_value)、步长(increment int类型,指每次读取多少个sequence,假设为K)等信息。   sequence的获取步骤如下。   (1)初次使用sequence时,根据传入的sequence名称,从数据库表中读取current_value、increment到Mycat中,并将数据库中的current_value修改为current_value+increment的值。   (2)Mycat将读取到的current_value+increment作为本次使用的sequence值,在下次使用时,sequence自动加1,当使用increment次后,执行与步骤1相同的操作。   (3)Mycat负责维护这张表,用到那些sequence时,只需要在这张表中插入一条记录即可。若某次读取的sequence没有用完系统就宕机了,则本次已经读取sequence且未使用的值将会被丢弃。   要启用这种方式,则需要在server.xml中配置如下参数:   1   注意:sequnceHandlerType需要配置为1,表示使用数据库方式生成sequence。   数据库配置如下:   (1)创建存放MYCAT_SEQUENCE的表:   create table MYCAT_SEQUENCE (name varchar(50) not null, current_value int not null , increment int not null default 100,primary key(name) )engine = InnoDB;   name、current_value和increment分别是sequence的名称、当前value和增长步长。increment可理解为Mycat从数据库中批量读取100个(默认值)sequence来使用,用完这些值后,再从数据库中读取。   插入一条sequence语句:   insert into MYCAT_SEQUENCE (name ,current_value ,increment ) values ("GLOBAL",100000,100)   (2)创建相关的function   4.3、本地时间戳方式   4.4、其他方式   4.4.1、使用catlet注解方式   4.4.2、也可以使用ZooKeeper方式实现   4.5、自增长主键   Mycat自增长主键和返回生成主键ID的实现如下:   (1)MySQL本身对非自增长主键使用last_insert_id()只会返回0。   (2)MySQL对定义自增长的主键才可以用last_insert_id()返回主键的值。   Mycat目前提供了自增长主键功能,但是如果对应的 MySQL 节点上的数据表没有定义auto_increment,那么在Mycat层调用last_insert_id()也是不会返回结果的。   正确的配置方式如下:   (1)MySQL定义自增长主键。   (2)Mycat定义主键自增。   在table标签中增加autoIncrement="true":   (3)Mycat对应sequence_db_conf.properties增加相应的设置。   (4)在数据库的mycat_sequence表中增加TABLE1表的sequence记录。   5、zk-create.yaml配置文件   在介绍配置之前,先介绍几个概念。Mycat Zone指的是分布于不同地域(Zone)的Mycat Cluster,Zone的命名建议用地理位置来标识,比如北京联通机房1。Cluster是Mycat集群,一个Cluster包含一个或多个Mycat Server。一般来讲,一个Zone都有一组主备Mycat负载均衡器LB,LB与同一中心内的Mycat Cluster组成一对多关系,即一个LB可以服务一个中心内的所有Cluster的负载均衡请求,也可以是多个LB,每个负担不同的Mycat Cluster的流量。此外,建议每个LB都有一个Backup,Backup平时并不连接Mycat Cluster,但监测到LB Master下线以后,就立即开始连接Mycat Cluster并开始工作。它们的关系大概可以用一组箭头来表示:Zone Mycat Cluster Mycat Server MySQL,如图所示:

济南市区内的世外桃源旅游路佛慧山下近百亩桃花盛开记者王媛当下,在济南旅游路佛慧山下,有一大片桃花正值盛花期,从高空看粉红一片,格外迷人。这片桃花位于佛慧山脚下,有近百亩的面积,虽然靠近马路,却十分安静,宛如市区内的世外桃源。济南上海天演资本8只基金年内3只下跌天演赛行跌4来源中国经济网中国经济网北京3月31日讯(记者康博)近日,从百亿私募上海天演私募基金管理有限公司(以下简称天演资本)公开披露的旗下基金业绩看,在8只基金中有3只于年初以来收益率下跌南昌全域旅游集散中心今日首发旅游专线车开启南昌至瑞金赣州2日游活动3月30日,入驻江西长运股份有限公司下属南昌全域旅游集散中心的江西走四方旅行社与方特东方欲晓(赣州)旅游发展有限公司联合组织南昌市旅游同行近150人赴瑞金及赣州方特踩线活动。早上7四川首趟熊猫专列开进西双版纳来源人民铁道网人民铁道网讯(胡志强王刚)3月25日14时32分,随着Y335次熊猫专列缓缓驶出成都西站,四川熊猫寻觅七彩云南七天之旅正式拉开序幕。这是四川成都发出的首趟开进云南西双壮观!若尔盖国家公园迎来数百只候鸟驻足栖息川观拍客扎西东州段金晶泽朗仲阿坝州新闻传媒中心红原县融媒体中心近日,若尔盖国家公园内的花湖景区和红原日干乔湿地迎来了大批候鸟驻足栖息。黑颈鹤白骨顶斑头雁灰雁等数百只候鸟在湿地觅食,北京平谷杏花绽放花期持续一周北寨杏花进入盛花期。人民网尹星云摄北寨杏花进入盛花期。人民网尹星云摄北寨杏花进入盛花期。人民网尹星云摄北寨杏花进入盛花期。人民网尹星云摄北寨杏花进入盛花期。人民网尹星云摄北寨杏花进来红河打卡50件小事在石屏1913,感受古城慢生活来源云南日报石屏古城总能带给人们许多惊喜有藏于古巷中的精致咖啡馆有小桥流水的诗意民宿还有可以看电影围炉煮茶的文创店1913文创店1913对于石屏是一个特别的年份1913年,石屏州正这座充满异域风情的边陲小城,将迎来一年一度的盛大狂欢头条创作挑战赛来自马蜂窝用户宿海看到图片的第一眼,是不是以为今天推荐的地方是泰国,或是东南亚的某一个城市?其实,这个充满异域风情的小城,就位于中国云南。来自马蜂窝用户宿海芒市,傣语我在建水古城,躲避喧嚣,感受古香古色古城,对我来说,总是致命的吸引!云南,又是多么神奇的地方啊!云南建水古城,你或者听说过它的名字,这次我终于走近了它,亲眼感受,每一块青砖黛瓦的明暗,被阳光抚摸过的每一寸青石板,那些第二个郑州出现!郭台铭投30亿,华为落户在此,无名小城备受青睐郑州近代的发展优势源于民国时期京广陇海两大铁路线经郑州旧城通车,使郑州迅速成为重要的交通枢纽到上世纪八十年代,随着改革开放的深入发展,在市场经济的引领下,郑州的城市建设又迎来了一次武陵源区中湖乡野鸡变凤凰风貌改造撬动乡村旅游大升级红网时刻张家界3月30日讯(武陵源区融媒体中心记者覃蕾)春日融融,行走在武陵源区中湖乡野鸡铺村间小道上,沿着平整的水泥路前行,青砖小瓦白墙手绘墙画古建筑设计步步有景,景景有典,美丽
联想被责令整改,司马南只是说了实话今年年初,司马南在聊天中只不过说了几句他看到的新闻资料,然后引发了网络大战,因为联想的关系网太复杂,所以网上很多水军漫无目的的喷司马南,有很多都莫名其妙。终于,今天官方经过调查开始第二次割韭菜失败?贾跃亭收到最后通牒,法拉第未来或被强制退市说到贾跃亭相信很多人都不陌生,他曾是业内传奇,也曾让国内大量股民欲哭无泪,甚至直到现在,很多人都还在等他王者归来,再创辉煌,关键是还债。贾跃亭曾凭借乐视网所制造的一系列假象,圈了大三大冷门暴利行业,利润高得吓人第一大暴利行业殡仪说到殡仪业的暴利,它的利润率远远高于房地产业,以二三十元买入的骨灰盒,放在殡仪馆的货架上,售价就到了三四百元。利润率高达1020倍。材质较好的成本不超过100元的央妈变了!此次降准传递出哪些重要信号?本文作者邓海清,方岑4月15日,人民银行开展1500亿元MLF操作和100亿元公开市场逆回购操作。MLF操作利率为2。85,与上月持平。据悉近日市场利率定价自律机制召开会议,鼓励中2022年养老金上涨标准定了?哪些人领钱多?什么时候能多涨600元自从我国进入人口老龄化社会之后,关于养老的问题也成了社会各界广泛关注的热点话题之一。而在养老问题当中最受关注的自然就是养老金的问题了。值得一提的是,2022年我国养老金还将会持续上娱乐圈不能惹的4位女明星,个个都有武术功底,都知道她厉害娱乐圈很多明星都是非常优秀的,不仅仅是在我们所知道的领域内非常擅长,在其他领域同样非常优秀,就比如说演员娄艺潇虽然是大家都熟知的演员,但她音乐剧演员的身份却鲜有人知。除了娄艺潇之外明星过年回家百态,李玉刚买年货,杨超越跳舞,沈梦辰穿花袄逛街春节回家和亲人朋友团聚是每个人的心愿,在外面打拼一整年,就盼着过年那几天回到许久没有回去的老家看一看。光鲜亮丽的大明星们也不例外,在外面忙碌了很久也会回到老家,但因为是明星,所以每华子季后赛首秀劲爆,明年冲进全明星森林狼以下克上干翻灰熊,莫兰特正负值16有一种狂野是季后赛,爱德华兹连续暴走,附加赛305,季后赛首场366能打硬仗小伙未来可期!季后赛首轮,森林狼击败灰熊,爱德华兹创造5大记录!春季配嫩绿,秒变气氛女谁是你pick的女明星?等闲识得东风面,万紫千红总是春女星们也爱春意浓浓的绿色呢快来看看吧鞠婧祎小姐姐一如既往地美丽如花这款名媛小香风外套恰如其分烘托出复古氛围感,春天走英伦风也很不错哦好久不见的袁姗姗又张惠妹12场演唱会已落幕,观众确诊人数累计23人,张惠妹哭着回应4月16日晚,张惠妹台北小巨蛋第12场演唱会终于完美落幕,或许这也是张惠妹在小巨蛋的绝唱,所以许多粉丝前来捧场,据悉,从4月1日的第一场开始,现场观众就人山人海,许多粉丝更是拿着张4000万人观看崔健演唱会!视频号直播创下最高纪录,微信探索更多商业化本文来源时代周报作者杨玲玲微信视频号线上演唱会直播玩得越来越溜了。4月15日晚上9点,歌手崔健的首场线上演唱会在视频号举行。开场前12分钟,直播间看过人数已超1000万人,不少人在