+1 on the JDBC format: http://lists.mysql.com/cluster/249
MySQL cluster does this as well. I'd also like to mention that libcouchbase will be included in this spec. Client libraries wrapping libcouchbase will be responsible for parsing out any client-specific settings in the string, and then passing the rest of the string to libcouchbase, which will then go ahead and parse it. Just a note though; you don't actually need a URI scheme here JDCB and friends use the URI scheme to locate the driver to load. However the couchbase:// stuff is implicit. I think all properties related to bootstrapping, connection, etc which are immutable once the instance has been created should be specified inside the connection string. I do think something like: host1,host2,host3,host4/bucketname?ssl=force&bootstrapOver=http&commandTimeout=2500000&bootstrapTimeout=5000000 is much simpler and freely convertible between client. It's also simple to parse and construct Now there's the problem of specifying the actual ports for each host (which normally would not be required but may be a use case for some folks): host1:8091=HTTP:11210=MCD:11207=MCDS,host2=18091=HTTPS, etc. I honestly don't think there any nice way to specify a host and a protocol, and most users shouldn't care; but we should make it possible to do. Note that the '?' tokens can be replaced by ';'. The bucketname could be specified as an option rather than a path spec, etc. -- however those are all minor details which IMO should be decided if and when we pick JDBC/DSN style strings. Mark On May 24, 2014, at 1:14 PM, Aliaksey Kandratsenka <[email protected]> wrote: > > > > On Fri, May 23, 2014 at 10:43 PM, Brett Lawson <[email protected]> wrote: > Good Afternoon All! > > Over the past month, we have been working on defining a set of semantics > which describes a canonical connection string format for connecting to a > Couchbase Cluster. In addition to this, we have attempted to explicitly > define the semantics which drive behaviour undertaken by the various client > libraries when establishing this initial 'bootstrap' connection. The > following document is a result of this discussion. Any and all input is > welcome, specifically in regards to the Open Questions which are described in > the document. > > Project Common Connection String! > https://docs.google.com/document/d/172ausWsYt3eYYOZ1lYHVS8ccbrrVJaGwHIRsf_O_Hyc > > My feedback is: please strongly consider going towards jdbc-style > configuration. If gives you far more freedom to evolve actual bootstrap > without breaking any apis. > > For example there's no need for any separate ssl flags. There's no need to > insist on always needed both memcached and mgmt ports. It allows for no end > of other options, like getting actual config information from ldap, dns etc. > -- You received this message because you are subscribed to the Google Groups "Couchbase" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
