Skip to Content
Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development
book

Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development

by Dave Ingram
February 2009
Intermediate to advanced
718 pages
22h 43m
English
Wrox
Content preview from Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development

19.3. Non-Stop Processing

As discussed previously, hardware clustering and load balancing can help to provide resilience within the overall architecture and infrastructure. There are a few more resilience patterns and practices that you can use to provide a more robust solution:

  • Running multiple synchronized processes — Where possible, it is always a good idea to run multiple processes in parallel. In some cases, the processes could be standing by to perform the exact same processing on the exact same records and data, but the processes are communicating with each other to ensure that they are fully synchronized. The communication mechanisms can range from remoting calls, metaphors, flat files, or the database. The important thing is that when one process fails or stops for some reason, there's another or possibly many others that could assume the work load. This approach of running multiple synchronized processes is nothing more than an internal clustering mechanism that offers even more resilience within the application itself. It is also possible on occasion to run processes in an active/active processing fashion. All the processes are synchronized and performing actions at the same time on different records and data. However, if one fails or stops, one of the other processes will take on the additional work. The processes could be alternative threads, other processes on the local machine, and even processes on another machine.

  • Automatic restart — When a process stops or exits, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

How Functional Programming Can Improve Testing, Reuse, and Maintenance in Your Current Codebase

How Functional Programming Can Improve Testing, Reuse, and Maintenance in Your Current Codebase

Eric Normand
Building Maintainable Software, Java Edition

Building Maintainable Software, Java Edition

Joost Visser, Sylvan Rigal, Rob van der Leek, Pascal van Eck, Gijs Wijnholds

Publisher Resources

ISBN: 9780470257630Purchase book