'Master data reload in spring boot apps running on azure vm scale sets

We have below flow on-prem to reload master data in cache of API servers. API servers are spring boot applications.

  1. User uploads master data via excel files using admin UI.
  2. These files is placed on NAS storage. After this, admin app calls REST endpoints on multiple API servers to reload this master data into API server memory cache.

We have plans to move this set up to azure cloud whereby API servers would be deployed on VM scale sets with auto scaling enabled.

Given that number of VMs, their IPs would vary, how can we support this master data reload in azure environment? One option I can think of -

  1. Admin app reads the master data file and pushes it to a queue (either azure queue storage or active MQ)
  2. API servers either have listeners or schedulers to get message from queue and reload master data.

Is this the best approach? But with queuing solutions, once message is read off queue by one API server, it will not be available for the other instances right?

Could anyone please advise on alternatives to support this master data reload in azure environment with minimal changes to current application?

Regards
Jacob



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source