<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments for Amoeba 开发者博客</title>
	<link>http://amoeba.meidusa.com/wordpress</link>
	<description>Keep Amoeba Simple And Stupid</description>
	<pubDate>Tue, 09 Feb 2010 09:03:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>

	<item>
		<title>Comment on Amoeba for mysql 1.1.0-BETA发布 by 衣旧</title>
		<link>http://amoeba.meidusa.com/wordpress/?p=25#comment-6108</link>
		<author>衣旧</author>
		<pubDate>Wed, 03 Feb 2010 03:46:58 +0000</pubDate>
		<guid>http://amoeba.meidusa.com/wordpress/?p=25#comment-6108</guid>
		<description>&lt;p&gt;您好.现在支持事务了吗?&lt;/p&gt;
－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－
不好意思，目前还没有支持事务</description>
		<content:encoded><![CDATA[<p>您好.现在支持事务了吗?</p>
<p>－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－<br />
不好意思，目前还没有支持事务</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on About Amoeba by 罗奇</title>
		<link>http://amoeba.meidusa.com/wordpress/?page_id=2#comment-6044</link>
		<author>罗奇</author>
		<pubDate>Fri, 29 Jan 2010 13:57:43 +0000</pubDate>
		<guid>http://amoeba.meidusa.com/wordpress/?page_id=2#comment-6044</guid>
		<description>非常好的项目，感谢分析。</description>
		<content:encoded><![CDATA[<p>非常好的项目，感谢分析。</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Amoeba for Mysql by mole</title>
		<link>http://amoeba.meidusa.com/wordpress/?page_id=4#comment-5985</link>
		<author>mole</author>
		<pubDate>Fri, 22 Jan 2010 17:36:31 +0000</pubDate>
		<guid>http://amoeba.meidusa.com/wordpress/?page_id=4#comment-5985</guid>
		<description>&lt;p&gt;Dear chen:&lt;/p&gt;
&lt;p&gt;我在 project.log 中看到下面 route 解析错误：&lt;br /&gt;
ERROR route.AbstractQueryRouter - SELECT `joy_fetionsupei`.`fetion`, `joy_fetionsupei`.`mobile`, `joy_fetionsupei`.`mms_Rec_BjFriend_Send_Number` AS `num` FROM `joy_fetionsupei` WHERE (mms_Rec_BjFriend_Send_Number &#62; 0) ORDER BY `mms_Rec_BjFriend_Send_Number` DESC, `mms_Rec_BjFriend_Number` DESC LIMIT 2000&lt;br /&gt;
com.meidusa.amoeba.parser.ParseException: com.meidusa.amoeba.mysql.parser.sql.ParseException: Encountered "`num`" at line 1, column 116.&lt;/p&gt;
&lt;p&gt;ERROR route.AbstractQueryRouter - SELECT COUNT(1) AS `zend_paginator_row_count` FROM `award` WHERE (`status` = 0 ) AND ((`pickoff_time` &#62; '2010-01-22 11:03:36' ) OR (`pickoff_time` = '0000-00-00 00:00:00' )) LIMIT 18&lt;br /&gt;
com.meidusa.amoeba.parser.ParseException: com.meidusa.amoeba.mysql.parser.sql.ParseException: Encountered "`zend_paginator_row_count`" at line 1, column 20.&lt;/p&gt;
&lt;p&gt;发现当某字段启用 AS 别名，并且别名前有 ` 符号时就会出现 route 解析错误。&lt;/p&gt;
&lt;p&gt;同时，我也遇到 kevin 提到 “amoeba运行一段时间不响应” 的问题。&lt;br /&gt;
运行环境：&lt;br /&gt;
OS：CentOS release 5.4 (Final)&lt;br /&gt;
linux 设置打开文件数为：10240&lt;br /&gt;
JDK：jre-1.6.0-openjdk&lt;br /&gt;
参数：-server -Xms128m -Xmx128m -Xss128k&lt;br /&gt;
请陈先生帮忙分析一下，谢谢！&lt;/p&gt;
－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－
你好 这类sql解析目前的确存在问题

稳定性目前在1.1.0有比较大的改善，希望大家能够反馈这次修改的结果，多谢</description>
		<content:encoded><![CDATA[<p>Dear chen:</p>
<p>我在 project.log 中看到下面 route 解析错误：<br />
ERROR route.AbstractQueryRouter - SELECT `joy_fetionsupei`.`fetion`, `joy_fetionsupei`.`mobile`, `joy_fetionsupei`.`mms_Rec_BjFriend_Send_Number` AS `num` FROM `joy_fetionsupei` WHERE (mms_Rec_BjFriend_Send_Number &gt; 0) ORDER BY `mms_Rec_BjFriend_Send_Number` DESC, `mms_Rec_BjFriend_Number` DESC LIMIT 2000<br />
com.meidusa.amoeba.parser.ParseException: com.meidusa.amoeba.mysql.parser.sql.ParseException: Encountered &#8220;`num`&#8221; at line 1, column 116.</p>
<p>ERROR route.AbstractQueryRouter - SELECT COUNT(1) AS `zend_paginator_row_count` FROM `award` WHERE (`status` = 0 ) AND ((`pickoff_time` &gt; &#8216;2010-01-22 11:03:36&#8242; ) OR (`pickoff_time` = &#8216;0000-00-00 00:00:00&#8242; )) LIMIT 18<br />
com.meidusa.amoeba.parser.ParseException: com.meidusa.amoeba.mysql.parser.sql.ParseException: Encountered &#8220;`zend_paginator_row_count`&#8221; at line 1, column 20.</p>
<p>发现当某字段启用 AS 别名，并且别名前有 ` 符号时就会出现 route 解析错误。</p>
<p>同时，我也遇到 kevin 提到 “amoeba运行一段时间不响应” 的问题。<br />
运行环境：<br />
OS：CentOS release 5.4 (Final)<br />
linux 设置打开文件数为：10240<br />
JDK：jre-1.6.0-openjdk<br />
参数：-server -Xms128m -Xmx128m -Xss128k<br />
请陈先生帮忙分析一下，谢谢！</p>
<p>－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－<br />
你好 这类sql解析目前的确存在问题</p>
<p>稳定性目前在1.1.0有比较大的改善，希望大家能够反馈这次修改的结果，多谢</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Amoeba for Aladdin by liu</title>
		<link>http://amoeba.meidusa.com/wordpress/?page_id=13#comment-5983</link>
		<author>liu</author>
		<pubDate>Fri, 22 Jan 2010 02:38:03 +0000</pubDate>
		<guid>http://amoeba.meidusa.com/wordpress/?page_id=13#comment-5983</guid>
		<description>&lt;p&gt;大概看看了这个项目，很佩服作者这份辛勤的努力。有两个问题问下，1.这项目的目的就是实现表的横切，把横切这部分逻辑脱离应用。不过这种情况都应用于海量数据的情况，这种情况很多情况会数据库并发很高，所以才作的分割，你这种数据库代理的方式会不会承受不了大并发。2.用mysql作sql的解析根据规则实现路由，然后再作更类数据库的sql与mysql数据库的映射，进行sql转化，这样理解对不对。&lt;/p&gt;

－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－
1、amoeba高并发能力问题，我希望每个人在使用开源产品的时候需要了解的一个产品的特性，做风险评估。看具体的产品是否能够满足功能与非功能上的需求。

2、amoeba的sql路由是解析客户端提交过来的sql，将sql中的条件以key/value的形式抽取出来，然后做为参数与相关的规则进行再次计算，得出每个规则的最终结果。

</description>
		<content:encoded><![CDATA[<p>大概看看了这个项目，很佩服作者这份辛勤的努力。有两个问题问下，1.这项目的目的就是实现表的横切，把横切这部分逻辑脱离应用。不过这种情况都应用于海量数据的情况，这种情况很多情况会数据库并发很高，所以才作的分割，你这种数据库代理的方式会不会承受不了大并发。2.用mysql作sql的解析根据规则实现路由，然后再作更类数据库的sql与mysql数据库的映射，进行sql转化，这样理解对不对。</p>
<p>－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－<br />
1、amoeba高并发能力问题，我希望每个人在使用开源产品的时候需要了解的一个产品的特性，做风险评估。看具体的产品是否能够满足功能与非功能上的需求。</p>
<p>2、amoeba的sql路由是解析客户端提交过来的sql，将sql中的条件以key/value的形式抽取出来，然后做为参数与相关的规则进行再次计算，得出每个规则的最终结果。</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Amoeba for mysql 1.0.2 beta版本发布 by mole</title>
		<link>http://amoeba.meidusa.com/wordpress/?p=24#comment-5967</link>
		<author>mole</author>
		<pubDate>Tue, 19 Jan 2010 16:29:33 +0000</pubDate>
		<guid>http://amoeba.meidusa.com/wordpress/?p=24#comment-5967</guid>
		<description>&lt;p&gt;能不能在 amoeba 连接数据库服务器时指定编码，我不希望调用 mysql_query("SET NAMES UTF8");&lt;/p&gt;
&lt;p&gt;因为我的数据库启动时使用&lt;br /&gt;
[mysqld]&lt;br /&gt;
skip-character-set-client-handshake&lt;br /&gt;
default-character-set = utf8&lt;br /&gt;
init-connect = 'SET NAMES utf8;'&lt;/p&gt;

－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－
本身 编码问题应该是客户端决定 他希望采用什么编码的数据，而amoeba只是一个代理，不能强制做编码设置
而且每个客户端所需要的编码也不一定一样，因此amoeba应该根据客户端的需求将需求传递给后端的mysql。而不能强制做编码设置</description>
		<content:encoded><![CDATA[<p>能不能在 amoeba 连接数据库服务器时指定编码，我不希望调用 mysql_query(&#8221;SET NAMES UTF8&#8243;);</p>
<p>因为我的数据库启动时使用<br />
[mysqld]<br />
skip-character-set-client-handshake<br />
default-character-set = utf8<br />
init-connect = &#8216;SET NAMES utf8;&#8217;</p>
<p>－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－<br />
本身 编码问题应该是客户端决定 他希望采用什么编码的数据，而amoeba只是一个代理，不能强制做编码设置<br />
而且每个客户端所需要的编码也不一定一样，因此amoeba应该根据客户端的需求将需求传递给后端的mysql。而不能强制做编码设置</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Amoeba for Mysql by tony</title>
		<link>http://amoeba.meidusa.com/wordpress/?page_id=4#comment-5960</link>
		<author>tony</author>
		<pubDate>Tue, 19 Jan 2010 10:08:58 +0000</pubDate>
		<guid>http://amoeba.meidusa.com/wordpress/?page_id=4#comment-5960</guid>
		<description>&lt;p&gt;Hi,陈老师，有如下配置，执行&lt;br /&gt;
select * from db1.users1;&lt;br /&gt;
select * from db2.users2;&lt;br /&gt;
但做insert的时候，有问题：&lt;br /&gt;
insert into db1.users1 value(2,34); //正常&lt;br /&gt;
insert into db2.users2 value(3,4); //Table 'db2.users2' doesn't exist&lt;/p&gt;
&lt;p&gt;这是什么原因呢？我需要怎么配置？谢谢&lt;/p&gt;
&lt;p&gt;说明：db1在一台机器上,配的dbserver 是test1,db2在另一台机器上，配的是test2.&lt;br /&gt;
采用这样连接amoeba mysql:&lt;br /&gt;
mysql -hhost -pport -uroot -p11&lt;/p&gt;
&lt;p&gt;amoeba.xml&lt;/p&gt;
&lt;p&gt;      .........&lt;br /&gt;
               test1&lt;/p&gt;
&lt;p&gt;	true&lt;/p&gt;
&lt;p&gt;rule.xml:&lt;/p&gt;
&lt;p&gt;test1, test2在不同的机器上&lt;/p&gt;

－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－

可用将你的amoeba.xml rule.xml email一份给我嘛？ 我进行分析一下
</description>
		<content:encoded><![CDATA[<p>Hi,陈老师，有如下配置，执行<br />
select * from db1.users1;<br />
select * from db2.users2;<br />
但做insert的时候，有问题：<br />
insert into db1.users1 value(2,34); //正常<br />
insert into db2.users2 value(3,4); //Table &#8216;db2.users2&#8242; doesn&#8217;t exist</p>
<p>这是什么原因呢？我需要怎么配置？谢谢</p>
<p>说明：db1在一台机器上,配的dbserver 是test1,db2在另一台机器上，配的是test2.<br />
采用这样连接amoeba mysql:<br />
mysql -hhost -pport -uroot -p11</p>
<p>amoeba.xml</p>
<p>      &#8230;&#8230;&#8230;<br />
               test1</p>
<p>	true</p>
<p>rule.xml:</p>
<p>test1, test2在不同的机器上</p>
<p>－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－</p>
<p>可用将你的amoeba.xml rule.xml email一份给我嘛？ 我进行分析一下</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Amoeba for mysql 1.0.2 beta版本发布 by whoiam8485</title>
		<link>http://amoeba.meidusa.com/wordpress/?p=24#comment-5953</link>
		<author>whoiam8485</author>
		<pubDate>Mon, 18 Jan 2010 02:59:33 +0000</pubDate>
		<guid>http://amoeba.meidusa.com/wordpress/?p=24#comment-5953</guid>
		<description>请问该项目目前能支持事物了吗？</description>
		<content:encoded><![CDATA[<p>请问该项目目前能支持事物了吗？</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on About Amoeba by liguxk</title>
		<link>http://amoeba.meidusa.com/wordpress/?page_id=2#comment-5891</link>
		<author>liguxk</author>
		<pubDate>Wed, 13 Jan 2010 11:20:14 +0000</pubDate>
		<guid>http://amoeba.meidusa.com/wordpress/?page_id=2#comment-5891</guid>
		<description>&lt;p&gt;在putty中运行./bin/amoeba&#38;&lt;br /&gt;
正常，关掉putty，amoeba也会停止，为什么？怎么解决？&lt;/p&gt;
--------------------------------
nohup  ./bin/amoeba &#038; 
应该可以解决你的问题</description>
		<content:encoded><![CDATA[<p>在putty中运行./bin/amoeba&amp;<br />
正常，关掉putty，amoeba也会停止，为什么？怎么解决？</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
nohup  ./bin/amoeba &#038;<br />
应该可以解决你的问题</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Amoeba for Mysql by javy</title>
		<link>http://amoeba.meidusa.com/wordpress/?page_id=4#comment-5890</link>
		<author>javy</author>
		<pubDate>Wed, 13 Jan 2010 08:18:22 +0000</pubDate>
		<guid>http://amoeba.meidusa.com/wordpress/?page_id=4#comment-5890</guid>
		<description>&lt;p&gt;陈先生你好：&lt;br /&gt;
     版本：amoeba-mysql-1.0.2-BETA&lt;br /&gt;
       当我使用多线程测试时，后台出现异常如下：&lt;br /&gt;
 ERROR handler.MySqlCommandDispatcher - messageDispate error&lt;br /&gt;
java.nio.channels.CancelledKeyException&lt;br /&gt;
	at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:55)&lt;br /&gt;
	at sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:59)&lt;br /&gt;
	at com.meidusa.amoeba.net.ConnectionManager.invokeConnectionWriteMessage(ConnectionManager.java:407)&lt;br /&gt;
	at com.meidusa.amoeba.mysql.net.MysqlConnection.postMessage(MysqlConnection.java:53)&lt;br /&gt;
	at com.meidusa.amoeba.mysql.handler.MySqlCommandDispatcher.handleMessage(MySqlCommandDispatcher.java:72)&lt;br /&gt;
	at com.meidusa.amoeba.mysql.net.MysqlClientConnection$2$1.run(MysqlClientConnection.java:162)&lt;br /&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)&lt;br /&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)&lt;br /&gt;
	at java.lang.Thread.run(Thread.java:595)&lt;/p&gt;
&lt;p&gt;查看源码，定位到&lt;br /&gt;
ConnectionManager.invokeConnectionWriteMessage（Connection）：&lt;br /&gt;
......&lt;br /&gt;
SelectionKey key = connection.getSelectionKey();&lt;br /&gt;
            if (!key.isValid()) {&lt;br /&gt;
                connection.handleFailure(new java.nio.channels.CancelledKeyException());&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
而connection.handleFailure（）是请求关闭此connection ，请问return之后是怎么处理的？客户端得到一个请求关闭的connection之后是怎么处理的？有amoeba的设计文档吗？&lt;/p&gt;
&lt;p&gt;谢谢指点！好运&lt;/p&gt;
－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－
这个问题还在高并发下，会存在的。

发生原因： 客户端发送一个请求，在mysql返回数据到amoeba的时候，客户端关闭连接，此时amoeba正在处理从mysql来的数据包发送到客户端，在写数据给客户端的时候发现客户端已经失效，则可能会引起这个问题。


不知道该问题是否对客户端造成影响？
</description>
		<content:encoded><![CDATA[<p>陈先生你好：<br />
     版本：amoeba-mysql-1.0.2-BETA<br />
       当我使用多线程测试时，后台出现异常如下：<br />
 ERROR handler.MySqlCommandDispatcher - messageDispate error<br />
java.nio.channels.CancelledKeyException<br />
	at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:55)<br />
	at sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:59)<br />
	at com.meidusa.amoeba.net.ConnectionManager.invokeConnectionWriteMessage(ConnectionManager.java:407)<br />
	at com.meidusa.amoeba.mysql.net.MysqlConnection.postMessage(MysqlConnection.java:53)<br />
	at com.meidusa.amoeba.mysql.handler.MySqlCommandDispatcher.handleMessage(MySqlCommandDispatcher.java:72)<br />
	at com.meidusa.amoeba.mysql.net.MysqlClientConnection$2$1.run(MysqlClientConnection.java:162)<br />
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)<br />
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)<br />
	at java.lang.Thread.run(Thread.java:595)</p>
<p>查看源码，定位到<br />
ConnectionManager.invokeConnectionWriteMessage（Connection）：<br />
&#8230;&#8230;<br />
SelectionKey key = connection.getSelectionKey();<br />
            if (!key.isValid()) {<br />
                connection.handleFailure(new java.nio.channels.CancelledKeyException());<br />
                return;<br />
            }<br />
而connection.handleFailure（）是请求关闭此connection ，请问return之后是怎么处理的？客户端得到一个请求关闭的connection之后是怎么处理的？有amoeba的设计文档吗？</p>
<p>谢谢指点！好运</p>
<p>－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－<br />
这个问题还在高并发下，会存在的。</p>
<p>发生原因： 客户端发送一个请求，在mysql返回数据到amoeba的时候，客户端关闭连接，此时amoeba正在处理从mysql来的数据包发送到客户端，在写数据给客户端的时候发现客户端已经失效，则可能会引起这个问题。</p>
<p>不知道该问题是否对客户端造成影响？</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Amoeba for Mysql by wwwregweb</title>
		<link>http://amoeba.meidusa.com/wordpress/?page_id=4#comment-5884</link>
		<author>wwwregweb</author>
		<pubDate>Sun, 10 Jan 2010 09:49:27 +0000</pubDate>
		<guid>http://amoeba.meidusa.com/wordpress/?page_id=4#comment-5884</guid>
		<description>&lt;p&gt;陈先生好：&lt;br /&gt;
我们最近在开发一个软件项目，用到MySQL，数据库的结构和要求如下：&lt;br /&gt;
配置：&lt;br /&gt;
整个系统走Internet；&lt;br /&gt;
2台Linux数据库服务器安装MySQL，固定IP地址；&lt;br /&gt;
100个Linux客户端也安装本地MySQL，动态IP地址；&lt;br /&gt;
要求：&lt;br /&gt;
客户端的数据库操作能够实时地更新到服务器；&lt;br /&gt;
服务器的数据库操作也能够实时地更新到客户端。&lt;br /&gt;
问题：&lt;br /&gt;
采用您的Amoeba for Mysql，是否能够达到要求，实现数据库的操作与管理？&lt;/p&gt;

－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－
还不是特别明确你的意图，但是amoeba 目前的设计是用于 读写分离。数据切分的。对于数据同步这块还是由mysql master/slave结构来解决的
</description>
		<content:encoded><![CDATA[<p>陈先生好：<br />
我们最近在开发一个软件项目，用到MySQL，数据库的结构和要求如下：<br />
配置：<br />
整个系统走Internet；<br />
2台Linux数据库服务器安装MySQL，固定IP地址；<br />
100个Linux客户端也安装本地MySQL，动态IP地址；<br />
要求：<br />
客户端的数据库操作能够实时地更新到服务器；<br />
服务器的数据库操作也能够实时地更新到客户端。<br />
问题：<br />
采用您的Amoeba for Mysql，是否能够达到要求，实现数据库的操作与管理？</p>
<p>－－－－－－－－－－－－－以下是回复内容－－－－－－－－－－－－－－－－<br />
还不是特别明确你的意图，但是amoeba 目前的设计是用于 读写分离。数据切分的。对于数据同步这块还是由mysql master/slave结构来解决的</p>
]]></content:encoded>
	</item>
</channel>
</rss>
