Reactive programming can be achieved on several ways. Below a short list of technologies and frameworks in Java landscape. Executor service in combination of Futures. For fire and forget implementations, use Runnable threads. For implementations whereby a response is required (Fork-Join), use a Callable implementation. ExecutorCompletionService (Producer-Consumer approach). Asynchronous service calls. This can be achieved … More Reactive processing methods
In Java, creating a local HTTP server is very easy. You can add more context to handle more HTTP paths.
Most important Design Principles in a row Single Responsibility principle Open Closed principle Liskov Substitution principle Interface Segregation principle Dependency Inversion principle YAGNI DRY