
Ask HN: How would you approach horizontal scaling of your software? - lichtenberger
Hi,<p>I&#x27;m currently thinking about how to best implement partitioning&#x2F;replication of my Open Source storage system written in Java. I&#x27;ve read &quot;Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems&quot; which is a great book, but I&#x27;d love more resources. At work we basically used Ignite for our application and horizontal scaling in the Cloud with a distributed file system, but the latter is something I clearly want to avoid.<p>So, do you have some resources&#x2F;tips? I clearly want to have transactions based on some consensus algorithm and a single leader, which accepts writes. But basically I want to read more about the whole topic before moving forward and develop epics&#x2F;tasks.<p>Do you have any resources &#x2F; best practices? Nowadays it seems that almost everyone puts his software into the cloud via Docker&#x2F;Kubernetes and some data grid, but I guess it&#x27;s still complicated to do it right :-)<p>Kind regards and happy easter
Johannes
======
mtmail
[https://en.wikipedia.org/wiki/Apache_ZooKeeper](https://en.wikipedia.org/wiki/Apache_ZooKeeper)
was created to help other systems scale horizontally, e.g. it takes care of
[https://en.wikipedia.org/wiki/Leader_election](https://en.wikipedia.org/wiki/Leader_election)
and all the edge cases one would want to "outsource".

~~~
lichtenberger
Hey, thanks :-) it could also be done via Apache Ignite, I think... but
Zookeeper might be much more advanced in this regard. Thank you :-)

