Both Flink and XMPP are streaming based engines. XMPP specializes in streaming messages and Flink specializes in processing streaming data.
Flink has several advantages for the credit unions in particular over a solution like Spark.

As described in this red panda article1 Flink has the advantage over Spark when it comes to streaming, latency and fault tolerance.
It is better to choose Flink if you need more fault tolerance. Let’s understand with an example of an e-commerce platform processing customer transactions. In the event of a hardware failure or network disruption, Flink’s fault-tolerant mechanisms ensure that processing continues seamlessly without data loss or interruption. In contrast, Apache Spark may face failures under similar circumstances, potentially resulting in data inconsistencies or processing disruptions.
There is also Spark being based on Scala, in particular Scala 2 which hasn’t had major changes since 2019 – 7 years ago at the time of this writing. Many of the the providers including Databricks and the others major contributors in the Spark community are not only sticking with Scala 2 but are pushing there own proprietary performance boosters like Photon. Photon is C++ based which introduces memory related security vulnerabilities with both industry and government agencies reporting that memory vulnerabilities make up the majority of CVE’s coming from memory vulnerabilities2 and that moving to memory safe languages is major cyber security objective for goverments3. For depository institutions even security vulnerabilities that are difficult to exploit are dangerous because they can be used in FUD campaigns that facilitate bank runs. Flink which is written primarily in Java avoids these performance, stagnation and cyber security issues relative to Spark.
Spark does have better batch performance but because we have to size our servers for the peak daily active users and DDOS there is plenty computational headroom on nights and weekends to run batch jobs.
