CloudEXPO 2019 has ended
Wednesday, June 26 • 5:00pm - 5:35pm
Leader Election Process Inside Dynamic Auto Scalable Software Applications

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Dynamic Auto Scalable Software Applications

Dynamic auto scalable software applications having multiple custom schedulers running as part of a Multi-Cluster often have the need to execute code in exactly one Application Instance. This pattern can be used to implement processing which must only be performed once within the entire application. This is achieved via a leader election and even job distribution. Microservices utilize this software pattern to ensure all future schedulers that will wake up in the future will stream the events for marketing campaigns. It is so important that we should not reach a customer with several duplicate messages through multiple channels like email, Direct Mail etc. When a custom configured, persisted scheduler wakes only one Application Instance will start processing the customer information to determine the eligibility to reach a customer and stream those events through the specific channels. Ensuring exactly one Node/Scheduler election to run a custom scheduled job ensures events are not duplicated resulting in duplication of work and wasted computer resources from technology and duplicate campaigns from business perspective.

Also, a Scheduler is non-preemptive. Thus, if an Application Instance is running the Scheduler and another Application Instance is eligible to run the Scheduler, the eligible Application Instance must not preempt the Scheduler already running; running Scheduler is allowed to complete.
Apart from that having multiple custom configured scheduled jobs, this algorithm should be responsible to evenly and randomly choosing a node for load distribution of the job election leaders.
The leader election algorithm is aware of the Application Instance version. If a Multi- Cluster contains Application Instances with different versions the Scheduler must only run in the newer version Application Instances.

avatar for James Land

James Land

Software Engineer, Capital One
James Land is a software engineer currently working for Capital One under Gopi Kancharla. He received his B.S. and M.S. in Computer Science from the University of Oklahoma, completing his five-year program in May of 2017. Afterwards, he returned home to the Dallas-Ft Worth metroplex... Read More →
avatar for Gopi Kancharla

Gopi Kancharla

Lead Software Engineer Sr Manager, CapitalOne
Gopi K Kancharla - Had 15+ Years of Experience in Full-Stack Software Engineering. Having Experience in in various domains like, Auto Finance, Credit Bureaus, Trading, Auction Systems & Firmware.He has Masters from Nagarjuna University in Computer Science and Information Systems... Read More →

Wednesday June 26, 2019 5:00pm - 5:35pm PDT
11 Cloud Hot Topics Room 201