Your job is to build a highly scalable processing backend that handles “tasks". Each task
could be between 1-20 seconds long and each produce a result that the client of the
The solution should be a backend using a Restful API for the job, preferably using either a
polling or a notification/callback scheme to get the result. Design it in a suitable way for a
very intensive environment that may have over 400+ calls per second. Think how the
application would scale with such load.
- use a message queue and/or broker, and you should use a restful web-framework.
- have multiple applications, and multiple instances of each application.
You should provide,
- small information overview of the chosen architecture
- provide which frameworks/libraries you would use
- prefer actual code or code fragments, of each important piece. (pseudo code may be used
- small documentation for each API method that you make available.
- discussion/reflection of potential issues that may arise when using this system that you
intend to build. Scalability is important.
- The solution / application does not have to be runnable, but it should be
obvious that you can build/create it, given the information you provide as the solution.
- Solution should be based on Java and Spring ecosystems.