feathersjs-ecosystem / feathers-sync

Synchronize service events between Feathers application instances
MIT License
222 stars 41 forks source link

Feather Context not updated on Horizontal scaling. #147

Closed nithin-ideas2it closed 4 years ago

nithin-ideas2it commented 4 years ago

Steps to reproduce Issue

To scale the Feathers App, We introduced AWS load-balancer, Where Application1 and Appliation2, Both are same and which points to same DB(Mongo), Where in Application-1 the context updated is not reflected/updated to the context in the Application-2.

System configuration

"node": "^8.0.0", "@feathersjs/feathers": "3.3.1"

Need suggestion to fix the problem, should use 'feathers-redis-cache' or 'feathers-sync'? which is best solution for the problem?

Could someone help, to understand when to use 'feathers-redis-cache' and 'feathers-sync'?

daffl commented 4 years ago

You need to set up feathers-sync. It requires a running Redis or RabbitMQ instance. The setup and use-case is described in the Readme there.

nithin-ideas2it commented 4 years ago

Yes, I can use feathers-sync to listen the changes as emitter on service events, but do feathers-sync will update the application context or we have to manually handle that? As I mentioned above, after update App1 will get the updated data in this.app or context.app, but App2 when trying to fetch the data in this.app or context.app will get error because data not exist.

So this case will be handled by feather with any config or we need have feathers-sync + manually handle to update the feathers app.context?