Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: How to do versioning for services #21

Open
manuel-schoebel opened this issue Feb 26, 2015 · 8 comments
Open

Question: How to do versioning for services #21

manuel-schoebel opened this issue Feb 26, 2015 · 8 comments

Comments

@manuel-schoebel
Copy link

Hi @arunoda,

if you have a lot of serivces and one changes from 1.0.0 to 2.0.0 including breaking "API" changes. How can I control that?

By naming conventions of the service?

Cluster.register('ServiceA.v1')
Cluster.register('ServiceA.v2')
...

Or would it be an idea to register like

// register service
Cluster.register('ServiceA', {version: '1.0.1'})

// connect to service
serviceConnection = Cluster.discoverConnection("mlServiceTest", {version: '1.0.1'});
@arunoda
Copy link
Member

arunoda commented Feb 26, 2015

Right now, we don't have a way for now. Can't we simply change the service name?

@manuel-schoebel
Copy link
Author

Yes we could but I guess it would be nicer to have one service with versions instead of one service with multiple names?!

Also since the versioning is pretty standardized with semantic versioning we could benefit from that. I can imagine that a lot of tooling could be developed for a huge microservices architecture, like a micro-service-dependcy tool etc. So a standard way of versioning might be practical!?

If the versioning is optional it would also do no harm. Would you have a look to a PR if I make one? ;)

@arunoda
Copy link
Member

arunoda commented Feb 26, 2015

I think I'm okay with that.
We'll let the versioning optional by default. (May be add 0.0.0) behind the scene.

I think, I like Cluster.register('ServiceA', {version: '1.0.1'}) format. It's kind a verbose than the other.

@manuel-schoebel
Copy link
Author

All right. PR coming soon :)

@arunoda
Copy link
Member

arunoda commented Feb 26, 2015

Awesome.

@rhyslbw
Copy link

rhyslbw commented Mar 1, 2015

👍

@manuel-schoebel
Copy link
Author

fyi: Soon will be little later since versioning is a bit more complicated since there are quite a lot of parts involved (proxy, store etc.)

@arunoda
Copy link
Member

arunoda commented Mar 16, 2015

And I might have to change the store part a bit too. Don't worry. It just
placing things here and there. Wanted to add ETCD support.

On Mon, Mar 16, 2015 at 3:20 PM Manuel Schoebel [email protected]
wrote:

fyi: Soon will be little later since versioning is a bit more complicated
since there are quite a lot of parts involved (proxy, store etc.)


Reply to this email directly or view it on GitHub
#21 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants