免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 飞鸿无痕
打印 上一主题 下一主题

【原创】mysql-mmm+amoeba+keepalived实现mysql高可用和读写分离 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-11-12 11:26 |只看该作者
回复 9# luwenju


http://blog.chinaunix.net/u3/93755/showart.php?id=2363202
这个能看明白吗?把里面的IP变下应该就Ok了吧。

论坛徽章:
0
12 [报告]
发表于 2010-11-12 14:40 |只看该作者
回复 11# 飞鸿无痕


额  看不明白啊     
192.168.1.10   写
192.168.1.20   读
192.168.1.30  读


  麻烦你针对这三个IP给贴出个配置文件吧

论坛徽章:
0
13 [报告]
发表于 2010-11-12 14:41 |只看该作者
哈哈,玩过了 不适合phpwind  discuz,我在程序里set name 都不行。其他的程序可以测试看结果。dedecms可以用这个

论坛徽章:
0
14 [报告]
发表于 2010-11-12 14:58 |只看该作者
回复 12# luwenju

下面是我给你写的配置:加入你的amoeba安装在ip为192.168.1.40的服务器上,监听的端口为3306(你可以自行更改),amoeba的用户名密码分别为:root  password
另外加色你的192.168.1.10、192.168.1.20、192.168.1.30上的数据库为bbs,数据库的用户名和密码分别为:root 123456 (根据实际情况更改)!你连接到数据库测试的时候可以用命令:
mysql -uroot -ppassword -h192.168.1.40 -P3306

下面是amoeba.xml文件的配置:
  1. <?xml version="1.0" encoding="gbk"?>

  2. <!DOCTYPE amoeba:configuration SYSTEM "amoeba.dtd">
  3. <amoeba:configuration xmlns:amoeba="http://amoeba.meidusa.com/">

  4.         <server>
  5.                 <!-- proxy server绑定的端口 -->
  6.                 <property name="port">3306</property>
  7.                
  8.                 <!-- proxy server绑定的IP -->
  9.                 <property name="ipAddress">192.168.1.40</property>
  10.                 <!-- proxy server net IO Read thread size -->
  11.                 <property name="readThreadPoolSize">20</property>
  12.                
  13.                 <!-- proxy server client process thread size -->
  14.                 <property name="clientSideThreadPoolSize">30</property>
  15.                
  16.                 <!-- mysql server data packet process thread size -->
  17.                 <property name="serverSideThreadPoolSize">30</property>
  18.                
  19.                 <!-- socket Send and receive BufferSize(unit:K)  -->
  20.                 <property name="netBufferSize">128</property>
  21.                
  22.                 <!-- Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm). -->
  23.                 <property name="tcpNoDelay">true</property>
  24.                
  25.                 <property name="user">root</property>
  26.                 <property name="password">password</property>
  27.                
  28.                 <!-- query timeout( default: 60 second , TimeUnit:second) -->
  29.                 <property name="queryTimeout">60</property>
  30.         </server>
  31.        
  32.         <!--
  33.                 每个ConnectionManager都将作为一个线程启动。
  34.                 manager负责Connection IO读写/死亡检测
  35.         -->
  36.         <connectionManagerList>
  37.                 <connectionManager name="defaultManager" class="com.meidusa.amoeba.net.MultiConnectionManagerWrapper">
  38.                         <property name="subManagerClassName">com.meidusa.amoeba.net.AuthingableConnectionManager</property>
  39.                        
  40.                         <!--
  41.                           default value is avaliable Processors
  42.                         <property name="processors">5</property>
  43.                          -->
  44.                 </connectionManager>
  45.         </connectionManagerList>
  46.        
  47.         <dbServerList>
  48.                 <!--
  49.                         一台mysqlServer 需要配置一个pool,
  50.                         如果多台 平等的mysql需要进行loadBalance,
  51.                         平台已经提供一个具有负载均衡能力的objectPool:com.meidusa.amoeba.mysql.server.MultipleServerPool
  52.                         简单的配置是属性加上 virtual="true",该Pool 不允许配置factoryConfig
  53.                         或者自己写一个ObjectPool。
  54.                 -->
  55.                 <dbServer name="server1">
  56.                        
  57.                         <!-- PoolableObjectFactory实现类 -->
  58.                         <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">
  59.                                 <property name="manager">defaultManager</property>
  60.                                
  61.                                 <!-- 真实mysql数据库端口 -->
  62.                                 <property name="port">3306</property>
  63.                                
  64.                                 <!-- 真实mysql数据库IP -->
  65.                                 <property name="ipAddress">192.168.1.10</property>
  66.                                 <property name="schema">bbs</property>
  67.                                
  68.                                 <!-- 用于登陆mysql的用户名 -->
  69.                                 <property name="user">root</property>
  70.                                
  71.                                 <!-- 用于登陆mysql的密码 -->
  72.                                 <property name="password">123456</property>
  73.                                
  74.                         </factoryConfig>
  75.                        
  76.                         <!-- ObjectPool实现类 -->
  77.                         <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">
  78.                                 <property name="maxActive">200</property>
  79.                                 <property name="maxIdle">200</property>
  80.                                 <property name="minIdle">10</property>
  81.                                 <property name="minEvictableIdleTimeMillis">600000</property>
  82.                                 <property name="timeBetweenEvictionRunsMillis">600000</property>
  83.                                 <property name="testOnBorrow">true</property>
  84.                                 <property name="testWhileIdle">true</property>
  85.                         </poolConfig>
  86.                 </dbServer>
  87.                

  88.                 <dbServer name="server2">
  89.                        
  90.                         <!-- PoolableObjectFactory实现类 -->
  91.                         <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">
  92.                                 <property name="manager">defaultManager</property>
  93.                                
  94.                                 <!-- 真实mysql数据库端口 -->
  95.                                 <property name="port">3306</property>
  96.                                
  97.                                 <!-- 真实mysql数据库IP -->
  98.                                 <property name="ipAddress">192.168.1.20</property>
  99.                                 <property name="schema">bbs</property>
  100.                                
  101.                                 <!-- 用于登陆mysql的用户名 -->
  102.                                 <property name="user">root</property>
  103.                                
  104.                                 <!-- 用于登陆mysql的密码 -->
  105.                                 <property name="password">123456</property>
  106.                                
  107.                         </factoryConfig>
  108.                        
  109.                         <!-- ObjectPool实现类 -->
  110.                         <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">
  111.                                 <property name="maxActive">200</property>
  112.                                 <property name="maxIdle">200</property>
  113.                                 <property name="minIdle">10</property>
  114.                                 <property name="minEvictableIdleTimeMillis">600000</property>
  115.                                 <property name="timeBetweenEvictionRunsMillis">600000</property>
  116.                                 <property name="testOnBorrow">true</property>
  117.                                 <property name="testWhileIdle">true</property>
  118.                         </poolConfig>
  119.                 </dbServer>



  120.                 <dbServer name="server2">
  121.                        
  122.                         <!-- PoolableObjectFactory实现类 -->
  123.                         <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">
  124.                                 <property name="manager">defaultManager</property>
  125.                                
  126.                                 <!-- 真实mysql数据库端口 -->
  127.                                 <property name="port">3306</property>
  128.                                
  129.                                 <!-- 真实mysql数据库IP -->
  130.                                 <property name="ipAddress">192.168.1.30</property>
  131.                                 <property name="schema">bbs</property>
  132.                                
  133.                                 <!-- 用于登陆mysql的用户名 -->
  134.                                 <property name="user">root</property>
  135.                                
  136.                                 <!-- 用于登陆mysql的密码 -->
  137.                                 <property name="password">123456</property>
  138.                                
  139.                         </factoryConfig>
  140.                        
  141.                         <!-- ObjectPool实现类 -->
  142.                         <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">
  143.                                 <property name="maxActive">200</property>
  144.                                 <property name="maxIdle">200</property>
  145.                                 <property name="minIdle">10</property>
  146.                                 <property name="minEvictableIdleTimeMillis">600000</property>
  147.                                 <property name="timeBetweenEvictionRunsMillis">600000</property>
  148.                                 <property name="testOnBorrow">true</property>
  149.                                 <property name="testWhileIdle">true</property>
  150.                         </poolConfig>
  151.                 </dbServer>


  152.                
  153.                 <dbServer name="master" virtual="true">
  154.                         <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
  155.                                 <!-- 负载均衡参数 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
  156.                                 <property name="loadbalance">1</property>
  157.                                
  158.                                 <!-- 参与该pool负载均衡的poolName列表以逗号分割 -->
  159.                                 <property name="poolNames">server1</property>
  160.                         </poolConfig>
  161.                 </dbServer>

  162.                 <dbServer name="slave" virtual="true">
  163.                         <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
  164.                                 <!-- 负载均衡参数 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
  165.                                 <property name="loadbalance">1</property>
  166.                                
  167.                                 <!-- 参与该pool负载均衡的poolName列表以逗号分割 -->
  168.                                 <property name="poolNames">server2,server3</property>
  169.                         </poolConfig>
  170.                 </dbServer>
  171.                
  172.         </dbServerList>
  173.        
  174.         <queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter">
  175.                 <property name="ruleConfig">${amoeba.home}/conf/rule.xml</property>
  176.                 <property name="functionConfig">${amoeba.home}/conf/functionMap.xml</property>
  177.                 <property name="ruleFunctionConfig">${amoeba.home}/conf/ruleFunctionMap.xml</property>
  178.                 <property name="LRUMapSize">1500</property>
  179.                 <property name="defaultPool">master</property>
  180.                 <property name="writePool">master</property>
  181.                 <property name="readPool">slave</property>
  182.                 <property name="needParse">true</property>
  183.         </queryRouter>
  184. </amoeba:configuration>
复制代码
传个附件给你,你直接覆盖你的配置文件吧,免得出现乱码。
amoeba.rar (1.56 KB, 下载次数: 32)

论坛徽章:
0
15 [报告]
发表于 2010-11-12 15:00 |只看该作者
回复 13# liang3391
正在测试discuz 论坛,出现乱嘛,正在找解决办法,呵呵!

论坛徽章:
0
16 [报告]
发表于 2010-11-12 15:44 |只看该作者
回复  liang3391
正在测试discuz 论坛,出现乱嘛,正在找解决办法,呵呵!
飞鸿无痕 发表于 2010-11-12 15:00



期待。

还有,amoeba的水平切分表也有些问题。

论坛徽章:
0
17 [报告]
发表于 2010-11-15 15:39 |只看该作者
本帖最后由 飞鸿无痕 于 2010-11-15 16:15 编辑

回复 13# liang3391

我在程序里用set names utf8,乱码消除了!
我测试的是Discuz! 7.2,从官网下的。
  1. $db = new dbstuff;
  2. $db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect, true, $dbcharset);
  3. $dbuser = $dbpw = $pconnect = $sdb = NULL;
复制代码
下面加入代码:
  1. $db->query("set names utf8");
复制代码
就可以了!

论坛徽章:
0
18 [报告]
发表于 2010-11-17 11:08 |只看该作者
本帖最后由 liang3391 于 2010-11-17 11:11 编辑

一台mysql上一个实例,每个实例里很多个库,如果要多多个库配置到amoeba里 怎么定义,就定义多个server,那么
                <dbServer name="multiPool" virtual="true">
                        <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
                                <!-- 负载均衡参数 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
                                <property name="loadbalance">1</property>

                                <!-- 参与该pool负载均衡的poolName列表以逗号分割 -->
                                <property name="poolNames">server2</property>
                        </poolConfig>
                </dbServer>

        </dbServerList>

        <queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter">
                <property name="ruleConfig">${amoeba.home}/conf/rule.xml</property>
                <property name="functionConfig">${amoeba.home}/conf/functionMap.xml</property>
                <property name="ruleFunctionConfig">${amoeba.home}/conf/ruleFunctionMap.xml</property>
                <property name="LRUMapSize">1500</property>
                <property name="defaultPool">server1</property>

                <property name="writePool">server1</property>
                <property name="readPool">multiPool</property>
                <property name="needParse">true</property>
        </queryRouter>

这个地方也不好写。我的目的是读写分离。

论坛徽章:
0
19 [报告]
发表于 2010-11-17 11:28 |只看该作者
本帖最后由 飞鸿无痕 于 2010-11-17 11:41 编辑

回复 18# liang3391


    定义多个库,定义多个池就可以了!比如:
  1.   
  2.                 <dbServer name="userdb_master" virtual="true">
  3.                         <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
  4.                                 <!-- 负载均衡参数 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
  5.                                 <property name="loadbalance">1</property>
  6.                                
  7.                                 <!-- 参与该pool负载均衡的poolName列表以逗号分割 -->
  8.                                 <property name="poolNames">server1</property>
  9.                         </poolConfig>
  10.                 </dbServer>

  11.                 <dbServer name="userdb_slave" virtual="true">
  12.                         <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
  13.                                 <!-- 负载均衡参数 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
  14.                                 <property name="loadbalance">1</property>
  15.                                
  16.                                 <!-- 参与该pool负载均衡的poolName列表以逗号分割 -->
  17.                                 <property name="poolNames">server1,server3</property>
  18.                         </poolConfig>
  19.                 </dbServer>

  20.                 <dbServer name="blogdb" virtual="true">
  21.                         <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
  22.                                 <!-- 负载均衡参数 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
  23.                                 <property name="loadbalance">1</property>
  24.                                
  25.                                 <!-- 参与该pool负载均衡的poolName列表以逗号分割 -->
  26.                                 <property name="poolNames">server2</property>
  27.                         </poolConfig>
  28.                 </dbServer>

复制代码

论坛徽章:
0
20 [报告]
发表于 2010-11-17 13:27 |只看该作者
本帖最后由 liang3391 于 2010-11-17 13:33 编辑

[root@linux26 conf]# cat amoeba.xml
<?xml version="1.0" encoding="gbk"?>

<!DOCTYPE amoeba:configuration SYSTEM "amoeba.dtd">
<amoeba:configuration xmlns:amoeba="http://amoeba.meidusa.com/">

        <server>
                <!-- proxy server绑定的端口 -->
                <property name="port">8066</property>

                <!-- proxy server绑定的IP -->
                <property name="ipAddress">192.168.53.26</property>
                <!-- proxy server net IO Read thread size -->
                <property name="readThreadPoolSize">20</property>

                <!-- proxy server client process thread size -->
                <property name="clientSideThreadPoolSize">30</property>

                <!-- mysql server data packet process thread size -->
                <property name="serverSideThreadPoolSize">30</property>

                <!-- socket Send and receive BufferSize(unit:K)  -->
                <property name="netBufferSize">128</property>

                <!-- Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm). -->
                <property name="tcpNoDelay">true</property>

                <!-- 对外验证的用户名 -->
                <property name="user">pk_down</property>

                <!-- 对外验证的密码 -->
                <property name="password">tmg2009!</property>

                <!-- query timeout( default: 60 second , TimeUnit:second) -->
                <property name="queryTimeout">60</property>
        </server>

        <!--
                每个ConnectionManager都将作为一个线程启动。
                manager负责Connection IO读写/死亡检测
        -->
        <connectionManagerList>
                <connectionManager name="defaultManager" class="com.meidusa.amoeba.net.MultiConnectionManagerWrapper">
                        <property name="subManagerClassName">com.meidusa.amoeba.net.AuthingableConnectionManager</property>

                        <!--
                          default value is avaliable Processors
                        <property name="processors">5</property>
                         -->
                </connectionManager>
        </connectionManagerList>

        <dbServerList>
                <!--
                        一台mysqlServer 需要配置一个pool,
                        如果多台 平等的mysql需要进行loadBalance,
                        平台已经提供一个具有负载均衡能力的objectPool:com.meidusa.amoeba.mysql.server.MultipleServerPool
                        简单的配置是属性加上 virtual="true",该Pool 不允许配置factoryConfig
                        或者自己写一个ObjectPool。
                -->
                <dbServer name="server1">

                        <!-- PoolableObjectFactory实现类 -->
                        <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">
                                <property name="manager">defaultManager</property>

                                <!-- 真实mysql数据库端口 -->
                                <property name="port">3306</property>

                                <!-- 真实mysql数据库IP -->
                                <property name="ipAddress">192.168.53.27</property>
                                <property name="schema">pk_down</property>

                                <!-- 用于登陆mysql的用户名 -->
                                <property name="user">pk_down</property>

                                <!-- 用于登陆mysql的密码 -->

                                <property name="password">tmg2009!</property>

                        </factoryConfig>

                        <!-- ObjectPool实现类 -->
                        <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">
                                <property name="maxActive">200</property>
                                <property name="maxIdle">200</property>
                                <property name="minIdle">10</property>
                                <property name="minEvictableIdleTimeMillis">600000</property>
                                <property name="timeBetweenEvictionRunsMillis">600000</property>
                                <property name="testOnBorrow">true</property>
                                <property name="testWhileIdle">true</property>
                        </poolConfig>
                </dbServer>


              <dbServer name="server2">

                        <!-- PoolableObjectFactory实现类 -->
                        <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">
                                <property name="manager">defaultManager</property>

                                <!-- 真实mysql数据库端口 -->
                                <property name="port">3306</property>

                                <!-- 真实mysql数据库IP -->
                                <property name="ipAddress">192.168.53.50</property>
                                <property name="schema">pk_down</property>

                                <!-- 用于登陆mysql的用户名 -->
                                <property name="user">pk_down</property>

                                <!-- 用于登陆mysql的密码 -->

                                <property name="password">tmg2009!</property>
                                
                        </factoryConfig>
                        
                        <!-- ObjectPool实现类 -->
                        <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">
                                <property name="maxActive">200</property>
                                <property name="maxIdle">200</property>
                                <property name="minIdle">10</property>
                                <property name="minEvictableIdleTimeMillis">600000</property>
                                <property name="timeBetweenEvictionRunsMillis">600000</property>
                                <property name="testOnBorrow">true</property>
                                <property name="testWhileIdle">true</property>
                        </poolConfig>
                </dbServer>


              <dbServer name="server3">

                        <!-- PoolableObjectFactory实现类 -->
                        <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">
                                <property name="manager">defaultManager</property>

                                <!-- 真实mysql数据库端口 -->
                                <property name="port">3306</property>

                                <!-- 真实mysql数据库IP -->
                                <property name="ipAddress">192.168.53.27</property>
                                <property name="schema">pk_cms_new</property>

                                <!-- 用于登陆mysql的用户名 -->
                                <property name="user">pk_cms_new</property>

                                <!-- 用于登陆mysql的密码 -->

                                <property name="password">tmg2009!</property>

                        </factoryConfig>

                        <!-- ObjectPool实现类 -->
                        <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">
                                <property name="maxActive">200</property>
                                <property name="maxIdle">200</property>
                                <property name="minIdle">10</property>
                                <property name="minEvictableIdleTimeMillis">600000</property>
                                <property name="timeBetweenEvictionRunsMillis">600000</property>
                                <property name="testOnBorrow">true</property>
                                <property name="testWhileIdle">true</property>
                        </poolConfig>
                </dbServer>


              <dbServer name="server4">

                        <!-- PoolableObjectFactory实现类 -->
                        <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">
                                <property name="manager">defaultManager</property>

                                <!-- 真实mysql数据库端口 -->
                                <property name="port">3306</property>

                                <!-- 真实mysql数据库IP -->
                                <property name="ipAddress">192.168.53.50</property>
                                <property name="schema">pk_cms_new</property>

                                <!-- 用于登陆mysql的用户名 -->
                                <property name="user">pk_cms_new</property>

                                <!-- 用于登陆mysql的密码 -->

                                <property name="password">tmg2009!</property>

                        </factoryConfig>

                        <!-- ObjectPool实现类 -->
                        <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">
                                <property name="maxActive">200</property>
                                <property name="maxIdle">200</property>
                                <property name="minIdle">10</property>
                                <property name="minEvictableIdleTimeMillis">600000</property>
                                <property name="timeBetweenEvictionRunsMillis">600000</property>
                                <property name="testOnBorrow">true</property>
                                <property name="testWhileIdle">true</property>
                        </poolConfig>
                </dbServer>
                <dbServer name="multi1Pool" virtual="true">
                        <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
                                <!-- 负载均衡参数 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
                                <property name="loadbalance">1</property>

                                <!-- 参与该pool负载均衡的poolName列表以逗号分割 -->
                                <property name="poolNames">server1</property>
                        </poolConfig>
                </dbServer>

                </dbServer>
                <dbServer name="multi2Pool" virtual="true">
                        <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
                                <!-- 负载均衡参数 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
                                <property name="loadbalance">1</property>

                                <!-- 参与该pool负载均衡的poolName列表以逗号分割 -->
                                <property name="poolNames">server1,server3</property>
                        </poolConfig>
                </dbServer>

                </dbServer>
                <dbServer name="multi3Pool" virtual="true">
                        <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
                                <!-- 负载均衡参数 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
                                <property name="loadbalance">1</property>

                                <!-- 参与该pool负载均衡的poolName列表以逗号分割 -->
                                <property name="poolNames">server2,server4</property>
                        </poolConfig>
                </dbServer>

        </dbServerList>

        <queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter">
                <property name="ruleConfig">${amoeba.home}/conf/rule.xml</property>
                <property name="functionConfig">${amoeba.home}/conf/functionMap.xml</property>
                <property name="ruleFunctionConfig">${amoeba.home}/conf/ruleFunctionMap.xml</property>
                <property name="LRUMapSize">1500</property>
                <property name="defaultPool">multi1Pool</property>

                <property name="writePool">multi2Pool</property>
                <property name="readPool">multi3Pool</property>
                <property name="needParse">true</property>
        </queryRouter>
</amoeba:configuration>


192.168.53.27 机器负责写,192.168.53.50负责读,这2台mysql上分别有2个库需要做读写分离配置如上,结果失败。27机器上pk_down和pk_cms_new2个库负责写,50机器上pk_down和pk_cms_new负责读。27为主,50为从。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP