幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

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标签
  usernameuserpropertynamepassworduserpropertypropertynameschemasTESTDBpropertypropertynamereadOnlytruepropertypropertynamedefaultSchemaTESTDBpropertyuser
  user标签主要用于定义登录Mycat的用户和权限。在如上配置中定义了用户名和密码都为test的用户,该用户可以访问的schema只有TESTDB。
  若要在schema。xml中定义TESTDB,则TESTDB必须先在server。xml中定义,否则该用户将无法访问该TESTDB。如果使用了use命令,则Mycat会有如下错误提示:
  Error1044(HY000):Accessdeniedforusertesttodatabasexxx
  可以修改user标签的name属性来指定用户名,修改password的值来修改密码,修改readOnly的值为true或false来限制用户的读写权限。如果需要同时访问多个schema,则多个schema之间使用英文逗号隔开,例如:
  propertynameschemasTESTDB,db1,db2property
  benchmark属性
  通过设置benchmark属性的值来限制前端的整体连接数量,如果其值为0或不对其进行设置,则表示不限制连接数量。例如:
  propertynamebenchmark1000property
  2。2、system标签
  2。2。1、charset属性
  systempropertynamecharsetutf8propertysystem
  2。2。2、processors属性
  processors属性指定系统可用的线程数量,默认值为机器CPU核心每个核心运行线程的数量,processors值会影响processorBufferPool、processorBufferLocalPercent、processorExecutor属性。NIOProcessor的个数也由processors属性决定,所以调优时可以适当地修改processors值。
  2。2。3、processorBufferChunk属性
  processorBufferChunk属性指定每次分配SocketDirectBuffer的默认值为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值为客户端的配置值。默认值为REPEATEDREAD,对应的数字为3。
  sqlExecuteTimeout:执行SQL语句的超时时间,若SQL语句的执行时间超过这个值,则会直接关闭连接,单位为秒,默认值为300秒。
  2。2。6、心跳属性
  processorCheckPeriod:清理NIOProcessor前后端空闲、超时、关闭连接的时间间隔,单位为毫秒,默认为1秒。
  dataNodeIdleCheckPeriod:对后端连接进行空闲、超时检查的时间间隔,单位为毫秒,默认为300秒。
  dataNodeHeartbeatPeriod:对后端的所有读、写库发起心跳的间隔时间,单位为毫秒,默认为10秒。
  2。2。7、分布式事务开关属性
  handleDistributedTransactions是分布式事务开关:0为不过滤分布式事务;1为过滤分布式事务(如果分布式事务内只涉及全局表,则不过滤);2为不过滤分布式事务,但是记录分布式事务日志。主要用于控制是否允许跨库事务,配置如下:
  propertynamehandleDistributedTransactions0property
  2。2。8、useOffHeapForMerge属性
  该属性用于配置是否启用非堆内存处理跨分片结果集,1为开启,0为关闭,Mycat从1。6版本开始支持此属性。配置如下:
  propertynameuseOffHeapForMerge0property
  2。2。9全局表一致性检测
  其原理是通过在全局表中增加MYCATOPTIME字段来进行一致性检测,为BIGINT类型。create语句通过Mycat执行时会自动加上这个字段,其他情况下需要手工添加。1为开启、0为关闭,Mycat从1。6版本开始支持此属性。配置如下:
  propertynameuseGlobleTableCheck0property!1为开启全加班一致性检测、0为关闭
  全局表一致性检测功能的使用说明及步骤如下。
  (1)在所有全局表中增加一个BIGINT类型的内部列,列名为mycatoptime(altertabletaddcolumnmycatoptimebigint〔notnulldefault0〕),同时建议在该列建立索引(altertabletaddindexopidx(mycatoptime))。
  (2)在对全局表进行crud时,可以将内部列当作不存在,建议不要对内部列进行update、insert等操作,否则会在Log日志中出现警告语句不用操作内部列。
  (3)因为全局表中多了一个内部列,所以在对全局表进行insert时必须带有列名,意味着SQL插入的语句必须是insertintot(id,name)values(xx,xx),而不能使用insertintotvalues(xx,xx),否则会报列数不对的异常。这样的操作可能会给开发工程师带来不便,将来会改善这个问题。
  2。2。10、useSqlStat属性
  开启SQL实时统计,1为开启、0为关闭。配置如下:
  propertynameuseSqlStat0property!1为开启实时统计、0为关闭
  3、schema。xml配置文件
  schema。xml作为Mycat中重要的配置文件之一,涵盖了Mycat的逻辑库、表、分片规则、分片节点及数据源。
  3。1、schema标签
  schemanameTESTDBcheckSQLschematruesqlMaxLimit100randomDataNodedn1schema
  schema标签用于定义Mycat实例中的逻辑库。Mycat可以有多个逻辑库,每个逻辑库都有自己的相关配置。可以使用schema标签来划分不同的逻辑库,如果不配置schema标签,则所有的表配置都会属于同一个默认的逻辑库。
  schemanameTESTDBcheckSQLschematruesqlMaxLimit100randomDataNodedn1!autoshardingbyid(long)!splitTableNames启用tablename属性使用逗号分割配置多个表,即多个表使用这个配置!fetchStoreNodeByJdbc启用ER表使用JDBC方式获取DataNodetablenamecustomerprimaryKeyiddataNodedn1,dn2ruleshardingbyintfileautoIncrementtruefetchStoreNodeByJdbctruechildTablenamecustomeraddrprimaryKeyidjoinKeycustomeridparentKeyidchildTabletable!tablenameoccallprimaryKeyIDdataNodedn10743rulelatestmonthcalldateschema
  如上所示配置了两个不同的逻辑库,逻辑库的概念等同于MySQL数据库中的Database概念,我们在查询逻辑库中的表时,需要切换到该逻辑库下才可以查询其中的表。
  3。1。1、dataNode属性
  该属性用于绑定逻辑库到具体的Database上,
  schemanameTESTDBcheckSQLschematruesqlMaxLimit100randomDataNodedn1!autoshardingbyid(long)!splitTableNames启用tablename属性使用逗号分割配置多个表,即多个表使用这个配置!fetchStoreNodeByJdbc启用ER表使用JDBC方式获取DataNodetablenamecustomerprimaryKeyiddataNodedn1,dn2ruleshardingbyintfileautoIncrementtruefetchStoreNodeByJdbctruechildTablenamecustomeraddrprimaryKeyidjoinKeycustomeridparentKeyidchildTabletable!tablenameoccallprimaryKeyIDdataNodedn10743rulelatestmonthcalldateschema!dataNodenamedn10743dataHostlocalhost1databasedb0743dataNodenamedn1dataHostlocalhost1databasedb1dataNodenamedn2dataHostlocalhost1databasedb2dataNodenamedn3dataHostlocalhost1databasedb3
  3。1。2、checkSQLschema属性
  当该值设置为true时,如果我们执行语句selectfromTESTDB。travelrecord;,则Mycat会把schema字符去掉,把SQL语句修改为selectfromtravelrecord;可避免发送到后端数据库执行时报(ERROR1146(42S02):Tabletestdb。travelrecorddoesntexist)错误。
  不过,即使设置该值为true,如果语句所带的schema名字不是schema指定的名字,例如selectfromdb1。travelrecord;,那么Mycat并不会删除db1这个字符串。如果没有定义该库,则会报错,在SQL语句中最好不带这个字段。
  3。1。3、sqlMaxLimit属性
  当该属性设置为某个数值时,每次执行的SQL语句如果没有加上limit语句,MyCat也会自动在limit语句后面加上对应的数值。例如设置值为100,则执行selectfromTESTDB。travelrecord;的效果和执行selectfromTESTDB。travelrecordlimit100;的效果一样。
  如果不设置该值,则Mycat默认会把查询到的信息全部返回,所以在正常使用的过程中还是建议设置该值,避免过多的数据返回。
  当然,如果在SQL语句中也显式地指定了limit的大小则不受该属性的约束。需要注意的是,如果运行SQL语句的schema为非拆分库的,那么该属性不会生效,需要手动在SQL语句后面添加limit。
  3。2、table标签
  table标签定义了Mycat中的逻辑表,所有需要拆分的表都需要在table标签中定义。tablenamecustomerprimaryKeyiddataNodedn1,dn2ruleshardingbyintfileautoIncrementtruefetchStoreNodeByJdbctruechildTablenamecustomeraddrprimaryKeyidjoinKeycustomeridparentKeyidchildTabletable
  3。2。1、name属性
  定义逻辑表的名称,如同我们在数据库中执行createtable语句的表名一样,同一个schema标签中定义的table的名字必须唯一。
  3。2。2、dataNode属性
  定义逻辑表所属的dataNode,该属性的值需要与dataNode标签中name属性的值相互对应。如果需要定义过多的dn,则可以使用如下方法减少配置
  tablenameoccallprimaryKeyIDdataNodedn10743rulelatestmonthcalldatetable
  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对于非自增长主键使用lastinsertid()是不会返回结果的,只会返回0。所以,只有对定义了自增长主键的表使用lastinsertid()才可以返回主键的值。Mycat目前提供了自增长主键功能,但是如果对应的MySQL节点上的表没有定义autoincrement,那么在Mycat层调用lastinsertid()也是不会返回结果的。
  由于insert操作时没有带入分片键,所以Mycat会先取下这个表对应的全局序列,然后赋值给分片键。
  如果要使用这个功能,则最好配合数据库模式的全局序列。使用autoIncrementtrue指定这个表使用自增长主键,这样Mycat才不会抛出分片键找不到的异常。使用autoIncrementfalse来禁用这个功能,autoIncrement的值默认为false。
  3。2。8、needAddLimit属性
  指定表是否需要自动在每个语句的后面加上limit限制。由于使用了分库分表,所以数据量有时会特别大。如果恰巧忘记加上数量限制,那么查询所有的数据需要一定的时间。
  所以,添加该属性后Mycat将会自动为我们在查询语句后面加上LIMIT100。如果语句中有limit限制,则不会重复添加。该属性默认为true,你也可以把该值设置为false来禁用默认的行为。
  3。3、childTable标签
  childTable标签用于定义ER分片的子表,通过标签上的属性与父表进行关联。
  schemanameTESTDBcheckSQLschematruesqlMaxLimit100randomDataNodedn1!autoshardingbyid(long)!splitTableNames启用tablename属性使用逗号分割配置多个表,即多个表使用这个配置!fetchStoreNodeByJdbc启用ER表使用JDBC方式获取DataNodetablenamecustomerprimaryKeyiddataNodedn1,dn2ruleshardingbyintfileautoIncrementtruefetchStoreNodeByJdbctruechildTablenamecustomeraddrprimaryKeyidjoinKeycustomeridparentKeyidchildTabletable!tablenameoccallprimaryKeyIDdataNodedn10743rulelatestmonthcalldateschema
  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标识这个分片。
  dataNodenamedn1dataHostlocalhost1databasedb1
  dataNode标签的相关属性如表所示:
  3。4。1、name属性
  定义数据节点的唯一名字,我们需要在table标签上应用这个名字,来建立表与分片的对应关系。
  3。4。2、dataHost属性
  该属性用于定义该分片所属的数据库实例,属性值引用自dataHost标签上定义的name属性。
  3。4。3、database属性
  该属性用于定义该分片所属数据库实例上的具体的库,这里使用两个维度来定义分片:实例具体的库。因为每个库上的表结构是一样的,所以这样就可以轻松地对表进行水平拆分。
  3。5、dataHost标签
  作为schema。xml中的最后一个标签,该标签在Mycat逻辑库中作为底层标签存在,直接定义了具体的数据库实例、读写分离和心跳语句。
  dataHostnamelocalhost1maxCon1000minCon10balance0writeType0dbTypemysqldbDriverjdbcswitchType1slaveThreshold100heartbeatselectuser()heartbeat!canhavemultiwritehostswriteHosthosthostM1urljdbc:mysql:localhost:3306userrootpasswordrootwriteHost!writeHosthosthostM2urllocalhost:3316userrootpassword123456dataHost
  3。5。1、name属性
  唯一标识dataHost标签,供上层标签使用。
  3。5。2、maxCon属性
  指定每个读写实例连接池的最大连接数。内嵌标签writeHost、readHost都会使用这个属性的值来实例化连接池的最大连接数。
  3。5。3、minCon属性
  指定每个读写实例连接池的最小连接数,初始化连接池的大小。
  3。5。4、balance属性
  负载均衡类型,目前的取值有如下4种。
  balance0:不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。
  balance1:全部的readHost与standbywriteHost都参与select语句的负载均衡,简而言之,当为双主双从模式(M1S1,M2S2,并且M1与M2互为主备)时,在正常情况下,M2、S1和S2都参与select语句的负载均衡。
  balance2:所有的读操作都随机地在writeHost、readHost上分发。
  balance3:所有的读请求都随机分发到writeHost对应的readHost上执行,writeHost不负担读压力,注意balance3只在Mycat1。4及之后的版本中有,在Mycat1。3中没有。
  3。5。5、writeType属性
  负载均衡类型目前的取值有两种。
  writeType0:所有的写操作都发送到配置的第1个writeHost上,writeHost1挂了则切到writeHost2上,重新恢复writeHost1节点后,不会再切回来,还是以writeHost2为准,切换记录在配置文件dnindex。properties中。
  writeType1:所有的写操作都随机地发送到配置的writeHost上,Mycat1。5版本以后不再推荐使用该值。
  3。5。6、switchType属性
  1表示不自动切换。
  1为默认值,表示自动切换。
  2表示基于MySQL主从同步的状态决定是否切换,心跳语句如下:
  3表示基于MySQLGalaryCluster的切换机制(适合集群,Mycat1。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目录的sequenceconf。properties文件中。
  在sequenceconf。properties文件中做如下配置:
  HOTNEWS。HISIDSHOTNEWS。MINID1001HOTNEWS。MAXID2000HOTNEWS。CURID1000
  其中HISIDS表示使用过的历史分段(一般无特殊需要则可不配置),MINID表示最小的ID值,MAXID表示最大的ID值,CURID表示当前的ID值。
  要启用这种方式,则首先需要在server。xml中配置如下参数:
  propertynamesequnceHandlerType0property
  注意:sequnceHandlerType配置为0,表示使用本地文件方式。
  insertintotable1(id,name)values(nextvalueforMYCATSEQGLOBAL,test);
  采用这种方式的缺点是Mycat重新发布后,配置文件中的sequence会恢复到初始值;优点是本地加载且读取速度较快。
  4。2、数据库方式
  在数据库中创建一张名为sequence的表,有sequence的当前值(currentvalue)、步长(incrementint类型,指每次读取多少个sequence,假设为K)等信息。
  sequence的获取步骤如下。
  (1)初次使用sequence时,根据传入的sequence名称,从数据库表中读取currentvalue、increment到Mycat中,并将数据库中的currentvalue修改为currentvalueincrement的值。
  (2)Mycat将读取到的currentvalueincrement作为本次使用的sequence值,在下次使用时,sequence自动加1,当使用increment次后,执行与步骤1相同的操作。
  (3)Mycat负责维护这张表,用到那些sequence时,只需要在这张表中插入一条记录即可。若某次读取的sequence没有用完系统就宕机了,则本次已经读取sequence且未使用的值将会被丢弃。
  要启用这种方式,则需要在server。xml中配置如下参数:
  propertynamesequnceHandlerType1property
  注意:sequnceHandlerType需要配置为1,表示使用数据库方式生成sequence。
  数据库配置如下:
  (1)创建存放MYCATSEQUENCE的表:
  createtableMYCATSEQUENCE(namevarchar(50)notnull,currentvalueintnotnull,incrementintnotnulldefault100,primarykey(name))engineInnoDB;
  name、currentvalue和increment分别是sequence的名称、当前value和增长步长。increment可理解为Mycat从数据库中批量读取100个(默认值)sequence来使用,用完这些值后,再从数据库中读取。
  插入一条sequence语句:
  insertintoMYCATSEQUENCE(name,currentvalue,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本身对非自增长主键使用lastinsertid()只会返回0。
  (2)MySQL对定义自增长的主键才可以用lastinsertid()返回主键的值。
  Mycat目前提供了自增长主键功能,但是如果对应的MySQL节点上的数据表没有定义autoincrement,那么在Mycat层调用lastinsertid()也是不会返回结果的。
  正确的配置方式如下:
  (1)MySQL定义自增长主键。
  (2)Mycat定义主键自增。
  在table标签中增加autoIncrementtrue:
  (3)Mycat对应sequencedbconf。properties增加相应的设置。
  (4)在数据库的mycatsequence表中增加TABLE1表的sequence记录。
  5、zkcreate。yaml配置文件
  在介绍配置之前,先介绍几个概念。MycatZone指的是分布于不同地域(Zone)的MycatCluster,Zone的命名建议用地理位置来标识,比如北京联通机房1。Cluster是Mycat集群,一个Cluster包含一个或多个MycatServer。一般来讲,一个Zone都有一组主备Mycat负载均衡器LB,LB与同一中心内的MycatCluster组成一对多关系,即一个LB可以服务一个中心内的所有Cluster的负载均衡请求,也可以是多个LB,每个负担不同的MycatCluster的流量。此外,建议每个LB都有一个Backup,Backup平时并不连接MycatCluster,但监测到LBMaster下线以后,就立即开始连接MycatCluster并开始工作。它们的关系大概可以用一组箭头来表示:ZoneMycatClusterMycatServerMySQL,如图所示:

图动漫人物手绘教程成为漫画高手的技巧相信有不少动漫迷喜欢在闲暇时画自己心仪的动漫人物。但对于刚入门的人来说,画出一个有模有样的人并不简单。下面我们就来学习一下基础动漫人物的手绘过程吧!其实我们通常会有这种感……图郑和下西洋为什么能成功经济技术领导一样都不能少郑和下西洋在我国古代历史上是浓墨重彩的一笔,它的历史地位和历史意义都十分重大。海上远航并不是容易的事,更何况是在古代。那么,郑和下西洋成功的原因究竟是什么呢?郑和是明朝的……黑玛瑙和黑曜石哪个好nbsp教你区分它们的技巧从黑玛瑙和黑曜石的成份和价值来看,黑玛瑙更胜一筹,黑玛瑙是佛教七宝之一,它强大的驱邪功效,被广泛流传。近几年黑玛瑙的价格逐渐增高,好的黑玛瑙也具有收藏价值。大家都知道黑曜……图纸雕立体贺卡图纸让你送礼不用愁纸雕是一种精致的手工艺品,它能变化出许多形式,贺卡就是其中一个类型。纸雕立体贺卡因其形象立体又有艺术感而成为时下使用率非常高的贺卡,那么一起来欣赏一下吧。纸雕立体贺卡的特……全国人大代表周燕芳建议支持保险企业开展社会办医《中国经济周刊》记者谢玮丨全国两会报道全国人大代表、太平洋医疗健康管理有限公司副总经理周燕芳,来自保险行业一线,始终关注与社会民生保障息息相关的保险与健康业务发展。……托帕石硬度多少nbsp它的美丽让人心动托帕石的矿物名称为黄玉或黄晶,英文称Topaz。由于消费者容易将黄玉与黄色玉石、黄晶的名称相互混淆,商业上多采用英文音译名称托帕石来标注宝石级的黄玉。1、关于这种宝石的硬……图羊毛毡制作的要点这些你清楚了吗羊毛毡的制作相信很多手工爱好者都不陌生,羊毛毡是一种柔软的面料,可以做出各种各样的不同形态的可爱玩偶,大部分女生看到此类的玩偶,根本抗拒不了。羊毛毡制作出来的玩偶,体型比……翡翠和玉的区别nbspnbsp这两者要怎么分辨翡翠,是玉的一种。翡翠的正确定义是以硬玉矿物为主的辉石类矿物组成的纤维状集合体。但是翡翠并不等于硬玉。翡翠是在地质作用下形成的达到玉级的石质多晶集合体。翡翠和玉从根源上来……图手工折纸衣服图解简单好看又有趣折纸确实是一门艺术,它既能够锻炼你的动手能力,又可以开发你的创新能力,还能够给你带来欢乐。但是怎么样才能够折出好看的纸衣服呢?不如和小编一起学习一下吧!折纸作为一种手工活……图孙膑与庞涓的故事春秋战国著名军事家的跌宕一生孙膑是孙武的后代,战国时期军事家、政治家,少时孤苦,年长后与庞涓师从鬼谷子学习,显示了惊人的军事才能。后来被齐王任为军师,马陵之战中用计杀庞涓,大败魏军。孙膑是春秋战国时……走好人生的最后一公里,献给60岁的自己60岁,步入了生命的秋天,有了几片生命的落叶,也有了一份宽容与豁达。随着岁月的老去,懂得了生活的真谛,用宁静的心看待一切,平心静气的享受生活。人,有生就有死,但只要你活着……新疆广汇的缺席,成为了本年度季后赛最大的遗憾和难过是的,新疆没有进去季后赛,不是打的不好,也不是实力不行,而是周琦跟俱乐部的合同纠纷,让他们失去了七场比赛的资格,如果他们能正常比赛,新疆队进入季后赛一定是百分百会发生的。……
日本春季裙子分析,虽然都是秀场服装,却实用得很普通时尚的服装一直都是大家追求的,可惜的是本来能引导我们找到更时尚的服装的时尚秀场穿搭,已经成为最没有参考价值的服装了,因为大家都不像在日常生活中穿那些设计的很奇怪的服装。还……MacBookAir掉漆?等等,2024最轻薄Mac有望回归近日,有网友爆料,买回去的午夜版MacBookAir用了一周后,其触控板的边缘、雷电接口等位置掉漆十分严重,并且很容易在涂层留下指纹,观感不适。7月22日,据彭博社的马克……地球上,没有一座超过1万米高的山,山峰的高度被什么限制了?登山是许多人在休假时非常喜欢的一项户外运动,并且大部分的城市都有自己独具特色的山峰。更不用说我国的五岳,其风景各有千秋,多年以来引得无数文人墨客前去攀登题字。我们常说高瞻……2块钱的红霉素软膏怎么成了淡斑专家?医生道出了其中的答案红霉素软膏以红霉素、凡士林为主要成分,加入适量的软质液态石蜡为辅助成分,通过高温熬制、凝液而制成,适用于脓包疮化脓性皮肤疾病而导致的溃疡面积感染。医学市场售卖的红霉素软膏……王者荣耀6位英雄即将加强?这两件装备又又加强了王者早知道,山海来爆料,大家好我是山海体验服昨晚更新有7位英雄调整,前两天也有英雄和装备的调整,张飞专精装和影刃已经削弱,闪电匕首和寒霜侵袭有所加强,预计下周会同步到正式……万门大学,跑了?深燃(shenrancaijing)原创作者邹帅编辑唐亚华多年来深陷舆论漩涡的万门大学(以下简称万门),最近又被推上了风口浪尖。变化发生在3月22日。万……60的宝宝都会在夏天缺锌,高锌食物排行榜,建议宝妈们收藏宝宝6个月后,预防或治疗缺锌,最好的方法就是调整膳食,并按照辅食添加的原则,给宝宝适量吃一些富含锌的食物。含锌量高的食物大推荐1hr苹果水果是宝宝们普遍食欲较……解锁更多新玩法,石景山文旅消费季推出16条线路这里有离城最近的山,这里是离山最近的城。昨天,石景山区推出秀石景山文旅消费季,将区内众多特色科技、文化、商业、非遗传承场所纳入四大主题、16条线路中,丰富市民休闲生活。图……头条涨薪秘籍全网没有之一的pytest玩转数据驱动测试框架前言:嗨咯铁汁们,很久不见,我还是你们的老朋友,这里也感谢各位小伙伴的点赞和关注,你们的三连是我最大的动力哈,我也不会辜负各位的期盼,这里呢给大家出了一个我们……成功引入国资!股价大涨超30,胡葆森等来了白衣骑士苦苦挣扎了一年多之后,河南王建业地产终于等来了久违的白衣骑士。6月1日收盘后,在港股上市的建业地产发布公告称,公司第一大股东恩辉投资有限公司与河南同晟置业有限公司于202……金龟子要嫁女儿了!22岁女儿和初恋男友相恋9年,还有35cm没想到,金龟子刘纯燕的女儿都要结婚了。在《朋友请听好》第二季中,有一个是广播直播环节。除在现场的何炅、谢娜、张杰、王勉、董子健和井柏然外,还有明星嘉宾连线支持。这些来支持……莫言人生在世,注定要受许多磨难越是成功人,遭受磨难就越多大家好,麦田里的晚风第165篇文章,记得点赞与关注,不断为你分享生活哲理与乐趣。生活千篇万律,百态多变,好的坏的,我们都得统统收下。《福贵》改编自余华小说《活着》,……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网