Сега обсъждаме микросервизна архитектура за проблема, поради необходимата мащабируемост на приложението в производството. Също така за целите на разработката това е от решаващо значение, тъй като Task1 и Task2 наскоро са добавени нови функции/параметри и мащабират по различен начин при разработката.
Точно това се справя добре с платформата за обработка на потоци. Препоръчвам да използвате система като Apache Kafka или Apache Pulsar за този проблем.
Трябва ли да има поне две различни услуги за Task1 и Task2 и може би дори една за действителния контрол на състоянието на итерация/симулация?
Task1 и Task2 е това, което се нарича потокови процесори , те четат (абонират се за) една тема , извършване на някои операции/трансформации и записване (публикуване) в друга тема .
Основният въпрос тук е какви са аргументите за архитектура на микросервизи поради вероятно затруднение в комуникацията/мрежата? Единственият начин да се ускори това е да се създадат всички необходими данни за задачата за симулация в паметта и да се съхраняват там през цялото време, за да се избегне затруднението в мрежата?
Отново, точно това е проблемът, че система като Apache Kafka или Apache Pulsar се справя добре. За мащабиране записва и чете в система за обработка на потоци, можете да разделяте вашите теми .