Basically I agree with your idea that version is used for distinguishing the impl, and the group is used for dynamic privisioning.
-Ian. On Mon, Mar 18, 2019 at 6:08 PM RQ <lrq...@gmail.com> wrote: > Hi community, > > Currently, Dubbo supports multi groups and multi versions in one same > Application. From the document of Dubbo site, we can see what those > property's initial purpose. > > - Version: When an interface to achieve an incompatible upgrade, you can > use the version number transition. Different versions of the services do > not reference each other. > - Group: When you have multi-impls of a interface, you can distinguish them > with the group. > > As we know, GetServiceKey of URL will return a String like > *Group/ServiceInterfaceName:Version* > > Today, let us think again about Group's purpose. Two questions I'd like to > raise for disccusion > > 1) If there are multi-impls of one interface, can we use Version instead of > Group to achieve it? I thinks Yes. This means that currently Groups is > duplicated with Version. > > 2) Group should be Cluster Group which used for router like Unitazation( > 阿里内部叫单元化 ) or Logical DataCenter. This means the Group will be dynamic > property of Dubbo service and can be changed during runtimes by some > dynamic rule of configuration. > > Please give your comments on it. BTW, it is very important for Dubbo's > supports of the inside scenarios in actual Alibaba's using. > > > Regards > JeffLv >