В любом случае WebFlux (или реактивное программирование) решает проблему большой нагрузки запросов? То есть, как мне оптимизировать приведенный выше код для нескольких одновременных запросов
Webflux спроектирован по своей сути для больших нагрузок запросов, отойдя от идеи «один поток на запрос» вместо того, чтобы вместо этого реализовать цепочки, основанные на событиях, где потоки работают только во время генерируемых событий.
Как указано в документации:
Существует два основных способа улучшить производительность программы:
И реактивная программа пытается выполнить вторую точку пули.
Вашему небольшому куску кода нечего оптимизировать, поэтому я не совсем понимаю, что именно вы хотите оптимизировать, вставка?
Кто-то подписывается на ваш сервис и публикует кучу планет. Вы берете это и ограничиваете скорость вставки до 10, чтобы метод вставки получал Flux, который будет испускать партии по 10, чтобы вставить то, что вы вставляете тоже. Так что я не совсем понимаю ваш вопрос здесь.
ваш второй вопрос:
где именно хранятся остальные элементы planetFlux
Если вы посмотрите в исходном коде, вы увидите следующее.
В потоке отдельный элемент сохраняется в классе FluxJust<T>.class
как прямое значение. в то время как несколько значений хранятся в FluxArray<T>.class
в виде простого и простого массива.