I want to create a platform as a service in the financial markets using Erlang / Elixir. I will provide lambda-style AWMS features in the financial markets, but instead of being accessible via web / rest / http, I plan to distribute my own ARM-based hardware terminals for clients (Nvidia Jetson TX2 or similar, so decent hardware ), They will access functions from these terminals. I want the indicated terminals to be full nodes in the system. Thus, they will use the actor model to send messages to my central servers, and indeed, the terminals can transmit messages with each other if terminal users decide to post their own functions on the Internet.
Is this a viable model? Can I run 1000 terminals? 100,000? What restrictions can I face? Is Erlang message routing scalable enough to imagine that such a network is still working if we have data flows in financial markets with soft real time? (mainly from central servers to terminals, but a good proportion can move directly from terminal to terminal). We may have a system in which up to 100 thousand are available. Or more different processes of subscribing to a channel, many of which take input and output of data every day.
Basically, I would like the canonical guide to the Erlang scaling capabilities to resemble above. Ideally, I would also like to find guidance on the security implications of such a system, i.e. Will global routing tables or any other part of the system be compromised by the rogue user of the terminal, or can they be partially βcoveredβ by nodes from sensitive parts of the rest of the Erlang network?
Please note that I would like to actively use ports / NIF for highly computational processes.
source share