cobarclient icon indicating copy to clipboard operation
cobarclient copied to clipboard

CobarClient 2.0 RoadMap

Open fujohnwang opened this issue 12 years ago • 22 comments

  • new Routing and LB strategy and implementation
    • multiple Route DSL with unique Route Abstraction Core
    • will TrieTree be more suitable for route selection?!
  • new Parallel Execution Structure
  • newest framework support : mybatis + spring3.x
  • new configuration abstraction for both local and global configuration strategy
  • minimised 3rd dependencies
  • split modules

fujohnwang avatar Jul 15 '13 11:07 fujohnwang

  • draft documentations with markdown, and put them on wiki of github so that everything can be found in one place.

fujohnwang avatar Jul 16 '13 08:07 fujohnwang

split into 2 more branches?

  1. Spring3.x + iBatis2.x
  2. Spring3.x + MyBatis3.x

fujohnwang avatar Jul 24 '13 02:07 fujohnwang

Spring3.x + MyBatis3.x 就够了

LaiZhou avatar Jul 24 '13 06:07 LaiZhou

Spring3.x+ibatis2.x还是有意义的,上次特地问了一下其他公司的,很多还在ibatis上面工作。毕竟官方没有集成mybatis

JoeCao avatar Jul 25 '13 01:07 JoeCao

  • deprecate BatchInsertTask functionality feature;
  • deprecate HA feature;
    • most of the time, solutions based on VIP or data Source implementation level are practical in production.

fujohnwang avatar Jul 25 '13 14:07 fujohnwang

  • 读写分离
    • 针对读写提供不同的线程池, global scope可调的, 不再需要指定特定于每一个Data Source的线程池

@JoeCao 使用global scope的线程池,从你角度看是否有问题?

fujohnwang avatar Jul 25 '13 14:07 fujohnwang

https://github.com/fujohnwang/scarface/tree/master/src/main/scala/mysdal 这里用Scala写了点儿验证性代码

fujohnwang avatar Jul 27 '13 09:07 fujohnwang

scala 小语种表示看不懂啊,强哥!

LaiZhou avatar Jul 30 '13 06:07 LaiZhou

如果是单元数据源就在原来的线程直接调用,如果是多数据源再到线程池中,OK; 读和写的线程池是否需要分离?

JoeCao avatar Jul 30 '13 08:07 JoeCao

建议去掉SQL执行时间的监控,监控的都是预制SQL,意义不是很大,而且像Druid这样的连接池已经可以提供界面的监控能力了,我们就交给更专业的组件去做。

JoeCao avatar Jul 30 '13 10:07 JoeCao

@hhlai1990 现在可以看当前repo下cobarclient-2.0这个branch的代码, 精简的基本也就没几行了,呵呵

fujohnwang avatar Aug 04 '13 05:08 fujohnwang

请问什么情况下会把数据源切换到备用数据库? 文档里说:standbyDataSource. 与主要目标数据源并列的备用数据源, 当主要目标数据源出现问题之后, 如果启用了CobarClient的HA功能支持, CobarClient将自动将数据访问切换到该备用数据源上. 这里说‘当主要目标数据源出现问题之后’,我在测试过程中主库并没有出现问题,还是莫名其妙切换到standbyDataSource。

ws-yuxf avatar Aug 21 '13 02:08 ws-yuxf

HA功能在新版本应该是去掉了,意义不是很大,还是让专门的数据库方案来解决这个HA问题更合适

JoeCao avatar Aug 26 '13 13:08 JoeCao

CobarClient2.x都有做哪些修改呢?除了去除HA功能,然后将Spring2.x升级到3.x?

ws-yuxf avatar Sep 04 '13 02:09 ws-yuxf

最主要的时升级依赖,并且重新设计了API结构,做减法

fujohnwang avatar Sep 06 '13 05:09 fujohnwang

有的地方,还是要应用自己来做HA的,DB方面不做这个,这个和一些公司的风格习惯有关。如果已经有了这样的功能为什么要去掉呢……

digitalsonic avatar Dec 03 '13 07:12 digitalsonic

应用做HA,最大的问题--在决定切换到备机之前,如何判断问题是应用自己的而不是数据库的。特别是在应用集群的情况下,很容易造成混乱。而数据的主备双机方案一直都是很成熟的,不存在上述问题。

JoeCao avatar Dec 03 '13 08:12 JoeCao

Hi~

您好!

向您请教一下关于cobar的一个问题,最近在使用cobar的时候,遇到一个问题,查询语句排序的问题

场景:我用cobar将我的userdb分成了8个数据库userdb0~userdb7, 现在执行一条sql语句 SELECT user_name FROM user_info ORDER BY create_time 每次去查询得到的结果的排列顺序,总有那么几次不一样,请问这个怎么控制,让每次查询到的结果的排序是固定的???

lovewangwei avatar Jan 09 '14 14:01 lovewangwei

所有shards都查询的整体排序其实没有太好的办法,单shard排序完全可以借力数据库自身的功能, 如果非要搞整体的排序,建议是代码层面在shards各自结果排序的基础上做merge sort, sort的因子自己根据情况决定

fujohnwang avatar Feb 23 '14 05:02 fujohnwang

好的!谢谢老师!

行百里者,看周遭事;行千里者,阅世间情;行万里者,穷天下经。

2014-02-23 13:04 GMT+08:00 王福强 [email protected]:

所有shards都查询的_整体排序_其实没有太好的办法,单shard排序完全可以借力数据库自身的功能, 如果非要搞整体的排序,建议是代码层面在shards各自结果排序的基础上做merge sort, sort的因子自己根据情况决定

— Reply to this email directly or view it on GitHubhttps://github.com/alibaba/cobarclient/issues/3#issuecomment-35824098 .

lovewangwei avatar Feb 24 '14 14:02 lovewangwei

@fujohnwang , how does this going on ? we're looking forward to cobaclient 2.0 released especially for mybatis integration.

bwzhang2011 avatar Feb 05 '15 23:02 bwzhang2011

@bwzhang2011, sorry, man, I don't have proper time to make it done.

maybe you should turn to some other alternatives if the old one don't meet your need.

fujohnwang avatar Feb 06 '15 08:02 fujohnwang