Foreign key в микросервисах?
1. Каждый микросервис отдельно законченное приложение. Т.е. user_id для chat ровно такое же поле как, например user_message или message_utcdatetime. Никакой "связывающей" нагрузки оно не несет.
2. Микросервис, не должен иметь проблем внутри себя, если user_id не корректный.
3. Да, у вас будут отдельные сервисы имеющие поле user_id не контролируемое на уровне целостности базы данных. Его целостность вам следует обеспечить иными механизмами. Например вовсе отказаться от контроля целостности этого поля, по большому счету какая вам разница в сервисе chat, что именно в это user_id записано.
Для  целостности   данных можно  попробовать  использовать  FDW