Ответы встроены, и к вашему сведению ничего, что вы спрашиваете, не находится в совместном месте, определяя c. Эти свойства сохраняются для удаленных модулей и заданий, которые содержат смешанные рабочие нагрузки, расположенные совместно и удаленно.
Нужно ли определять вход для каждой совмещенной работы? Если нет, то как я могу заставить эту работу работать?
Да, для каждой работы (удаленной или совместной) требуется как минимум один вход. Вход - это канал, который принимает сообщения из внешнего мира в приложение Statefun. Вспомните Кафку или Кинезис. Без входа задание никогда бы ничего не делало, потому что не было бы начальных сообщений, чтобы начать обработку.
Для каждого входа вы будете связывать 1 или более маршрутизаторов, которые берут каждое сообщение из входа и пересылают их до 0 или более функций на основе их типов функций [1].
Как получить совместную работу для общения? Достаточно ли использовать один и тот же FunctionType?
Да, функции просто сообщают друг другу, используя свои типы функций.
Связаны ли совместно расположенные функции через вход / выход?
Нет, сообщения передаются между функциями с использованием среды выполнения Apache Flink, которая содержит высокооптимизированный сетевой стек , Когда сообщение извлекается из входа, оно никогда больше не взаимодействует с этим входом. Если вам интересно, вы можете прочитать о том, как работает сетевой стек Флинка, в некоторых постах блога, написанных сообществом, но это не обязательно для успешного использования statefun в работе [2].
[1] https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0/io-module/index.html#router
[2] https://flink.apache.org/2019/06/05/flink-network-stack.html