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

Support for meteorhacks:cluster #51

Closed
davidyaha opened this issue Dec 12, 2015 · 6 comments
Closed

Support for meteorhacks:cluster #51

davidyaha opened this issue Dec 12, 2015 · 6 comments

Comments

@davidyaha
Copy link

It would be great if the client methods and the server methods would have been different packages and I could specify the cluster node to upload files to.

Check out https://github.com/meteorhacks/cluster#microservices for more info about cluster and micro-services.

Thanks for the package!

@dr-dimitru
Copy link
Member

Hi @davidyaha ,

  • For server only usage you may define File.Collection only on server. But you can not do same thing for client only. But what functionality you wish to have on client only?
  • Microservices... - in my experience we used to have separated "mini"-apps which shares same DB or host or something else similar. I see no issues why you can not do microservice with Meteor-Files package now. Please ensure what you exactly can not implement.

Thank you for using this package. If you found this driver useful do not hesitate to star it at both github and atmosphere. Also you may like to Tweet about it or share at Facebook

@dr-dimitru
Copy link
Member

BTW about cluster package - I don't like theirs concept. Basically they re-invent things which already exists and trusted in front of developers and system administrators. Like nginx, HAProxy, AWS ELB - I'm and thousands of devops can stand for its reputation, at least it's are have longer history.

We're in our production using stack of User -> AWS ELB (cloud) -> HAProxy (cluster) -> Nginx (Host VM) -> Phusion Passenger (Client VM) -> Node. Uptime guaranteed.

@davidyaha
Copy link
Author

Hi @dr-dimitru
In my implementation I would like a micro service to have different DB than the ui-provider micro service.
https://github.com/VeliovGroup/Meteor-Files/blob/master/files.coffee#L878
The Meteor.call in this line could also be changed to some kind of an abstraction that will allow changing the default DDP connection that Meteor.call uses.

I really like the DDP upload in this package and I would like to upload through DDP a file to be analysed on a micro service that handles this kind of background work only.

I could also send the file through the web micro service to the analyser micro service but that also means that I need to implement your logic by myself and it doesn't seem to me like a good thing.

About this package being not the best at load balancing, I totally agree. But, I use it a service discovery more than a LB and while there are solutions out there for it like eureka or zookeeper, having this kind of service integrated into meteor opens up some very cool possibilities. One of them I am currently writing in a branch of Zodiac - https://github.com/GuildOfProgrammers/Zodiac/tree/feature/microservices

That being said, I do think that I might need to rewrite some or the cluster package, but for now it will do.

P.S. Already starred :)
Once I'll finish my current project that uses it, I'll post about this package, guaranteed.

@dr-dimitru
Copy link
Member

@davidyaha thank you )
I hope to put my hand on your suggestion soon. I'll let you know

@dr-dimitru dr-dimitru changed the title Suggestion: Add support for meteorhacks:cluster Support for meteorhacks:cluster Jun 24, 2016
dr-dimitru added a commit that referenced this issue Oct 12, 2016
This is first updated based on community contribution.
Thank you everyone who has a chance to take a part in this project,
you've made this lib better!

v1.7.4:
 - Comparability with `meteor@1.4.1.2`
 - Update Google integration docs - @salmanhasni
 - `.find()` and `.findOne()` methods of `FilesCollection` now acts in
the same way as instances of `Mongo.Collection` - @exKAZUu
 - Explanation around `storagePath` option - @elewis33 & @yanickrochon
 - Option to set different DDP connection, per Collection and per
Upload. By @rafaelcorreiapoli - closing #51 and #235
 - `Template` now is weak dependency, by @macrozone - closing #242
 - Demo app: UI fixes for Safari
 - Demo app: Notice if video or audio not supported by browser. The
__.mp4__ was deprecated in Chromium in favour of __.webm__
@dr-dimitru dr-dimitru mentioned this issue Oct 12, 2016
dr-dimitru added a commit that referenced this issue Oct 12, 2016
v1.7.4
This is first update based on community contribution.
Thank you everyone who has a chance to take a part in this project, you've made this lib better!

v1.7.4:
 - Comparability with `meteor@1.4.1.2`
 - Update Google integration docs - @salmanhasni
 - `.find()` and `.findOne()` methods of `FilesCollection` now acts in the same way as instances of `Mongo.Collection` - @exKAZUu
 - Explanation around `storagePath` option - @elewis33 & @yanickrochon
 - Option to set different DDP connection, per Collection and per Upload. By @rafaelcorreiapoli - closing #51 and #235
 - `Template` now is weak dependency, by @macrozone - closing #242
 - Demo app: UI fixes for Safari
 - Demo app: Notice if video or audio not supported by browser. The __.mp4__ was deprecated in Chromium in favour of __.webm__
@dr-dimitru
Copy link
Member

Finally done in v1.7.4

@dr-dimitru
Copy link
Member

Please check on your end

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

No branches or pull requests

2 participants