Вот еще вопрос интересный. Я хоть и работала в этой сфере последний год не могу предложить идеальное решение. Но мало ли кто может тут
?
Скажем есть у вас микросервис.
И он на своем collection endpoint на get выдает обьекты вот такого типа
..../services/orders/12345
{
"id":12345
"date": "xxxx",
"status":"Processed",
"customer": {
"id":66666
"name":"Vasya Pupkin"
},
"region" : {
"name" : "Ryazan",
"timezone": RTZ
}
}
где то, что раскрашено разным цветом, по сути собирается с endpoints других микросервисов ( jackson нам в помощь).
Допустим мы это дело оптимизировали распараллелив. То есть если каждый элемент коллекции хочет данные с N endpoints и в коллекции M элементов мы запускаем параллельно N*M тредов и посылаем в каждом GET request. Допустим мы прикрутили кеш. Допустим мы enable JPA caching, тоже помогает. Вроде неплохо.
Перформанс - на загрузку списка из ста элементов ( в той же VPN через postman) уходит в среднем 3 секунды
Тут приходит следующее требование: you need to support 200,000,000+ daily transactions and process
И че дальше делать ?
PS. Апп деплоится в облаке поверху Cloud Foundry, то есть будет скейлится скандартными способами. Просто нужно еще что нибудь выжать программно, но вроде бы уже все сделано возможное