View Source

博客正在恢复数据

svn地址:  [http://amoeba.googlecode.com/svn/trunk]

下载地址: [https://sourceforge.net/projects/amoeba/files/|https://sourceforge.net/projects/amoeba/files/]

文档地址:[http://docs.hexnova.com/amoeba|http://docs.hexnova.com/amoeba]

简单介绍文档: [http://amoeba.meidusa.com/amoeba.pdf|http://amoeba.meidusa.com/amoeba.pdf]

think in lamp 首届架构师大会演讲稿:[amoeba ppt|^Amoeba-art.pdf]

[Amoeba 捐赠入口 |https://me.alipay.com/amoeba]

h2. Amoeba 3.0

目前文档只针对 3.0之前的版本,3.0版本将会写入这个wiki中。

先说明一下 3.0与之前2.X版本的区别:
* 采用更稳定的NIO框架
* 取消了很多不必要的同步锁,能够更好的利用高并发特性
* 代码结构更加合理,重构以后很多可重用的东西将提取出来作为公用类库,未来升级方便
* 配置有所改动(不兼容),由于重构,class所在的包名字将有所有变化,但是基本维持原来的配置结构不变,如果熟悉2.X,那么3.0上手非常容易
* 启动脚本有变化,3.x将 bin/launcher 作为启动脚本(启动以后直接可作为后台进程,不需要增加nohup等命令), bin/shutdown作为关闭脚本 
* 解决了last_insert_id问题

h2. 经常性的问题:


h5. 1.经常遇到sql无法解析,是否影响sql的执行? 如何避免复杂sql无法正确路由(比如读写分离)

答:

a)  无法解析的sql,并不影响sql的执行。

b)  sql无法解析的问题可以采用sql注释的方式,让amoeba只解析简单的sql

比如sql: SELECT group_concat(distinct if(Barcode>0,Barcode,null)) as barcode, group_concat(distinct c.Spec) AS spec FROM GC_Commodity_Medicine AS cm

 INNER JOIN GC_Commodity AS c ON cm.PKID=c.PKID WHERE (cm.SeriesNum='□□□□□□H20030585') GROUP BY SeriesNum

那么对于amoeba来说,这个语句需要经过负责的解析,如果有特殊的函数之类,可能导致无法解析,可以采用sql注释方式来简写sql

比如:  SELECT  {color:#ff0000}*/\* @amoeba(select * from *{color}{color:#ff0000}{*}GC_Commodity_Medicine where{*}{color}{color:#ff0000}* *{color}{color:#ff0000}{*}cm.SeriesNum='□□□□□□H20030585') *{color}{color:#ff0000}*\*/*{color}  group_concat(distinct if(Barcode>0,Barcode,null)) as barcode, group_concat(distinct c.Spec) AS spec FROM GC_Commodity_Medicine AS cm

 INNER JOIN GC_Commodity AS c ON cm.PKID=c.PKID WHERE (cm.SeriesNum='□□□□□□H20030585') GROUP BY SeriesNum

SELECT group_concat(distinct if(Barcode>0,Barcode,null)) as barcode, group_concat(distinct c.Spec) AS spec FROM GC_Commodity_Medicine AS cm
 INNER JOIN GC_Commodity AS c ON cm.PKID=c.PKID WHERE (cm.SeriesNum='□□□□□□H20030585') GROUP BY SeriesNum
经过上面的注释改造,amoeba就只解析 *select * from *{*}GC_Commodity_Medicine where{*}* *{*}cm.SeriesNum='□□□□□□H20030585' *

*避免了解析复杂的sql*

\----------------------------------------------------------------------------------------------\-

{section}

{column:width=60%}{recently-updated}{column}
{column:width=5%}{column}
{column:width=35%}

h6. Navigate space
{pagetreesearch}
{pagetree}{column}{section}