question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Ghost does not support clustering or multiple dynos (CDN/HTTP-cache required to scale)

See original GitHub issue

Hey @cobyism 👋 I’ve had a look at this Ghost/Heroku setup and unfortunately it promotes some practices that will result in broken Ghost installations.

Ghost does not support clustering in any form due to in-memory caches that will result in each instance getting out of sync with each other - there can only be 1 instance of Ghost for each site.

Can you please remove any mention of clustering, scaling up of dynos (unless advising not to do so!), and the use of node-cluster?

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:16

github_iconTop GitHub Comments

5reactions
marscommented, Feb 7, 2019

Thanks for your reponse @johnonolan

I’m very happy to hear that Ghost can squeeze so much performance out of a single thread of javascript. That is clearly a testament to Ghost’s engineering practices and history to have so much confidence about this architecture.

Heroku’s dyno scaling is not just for “scaling code” but also to support rolling deployments without downtime and to load balance across healthy dynos if a server/dyno suffers hardware failure.

I always prefer operating a service that can scale horizontally, separate from whether or not the “code scales properly”.

How do you deploy new versions of a Ghost server without downtime or deal with hardware outages if Ghost does not support multiple servers?

3reactions
JohnONolancommented, May 21, 2022

To clarify, @mars, this issue was opened by way of an olive branch as an offer of help and guidance. We had both discussed and intended to offer to take over the project and have it officially maintained by the Ghore core team.

Unfortunately the petty hostility in this thread put an end to that idea.

All the best

Read more comments on GitHub >

github_iconTop Results From Across the Web

Clustering, sharding, HA and other multi-server setups - Ghost
Ghost doesn't support load-balanced clustering or multi-server setups of any description, there should only be one Ghost instance per site.
Read more >
Node cluster versus Dynos scaling - Stack Overflow
As far as I understood it, if I make use of node cluster functionality I will end up with the total memory available...
Read more >
Optimizing Node.js Application Concurrency
Instead, Node.js apps must fork multiple processes to maximize their available resources. This is called “clustering,” and is supported by ...
Read more >
How to Scale Like a Boss with Heroku Dynos - DZone Web Dev
After all, scaling up too quickly will consume more costs than required and scaling up after the fact will impact performance and potentially ......
Read more >
Phoenix Channels on Heroku apps with multiple dynos
It seems that when I have 2 dynos, some messages are not received on the channel. There's no error, just lost messages. I'm...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found