I have created a similar question (https://community.teltonika-gps.com/16254/support-ammount-trackers-single-server-server-scalability) few months ago. The conclusion was to use a load balancer (HAProxy) and use multiple servers. So, I am sorry about that. I expect I can ask this question here.
Thus, one more time, my subject will be about programming methods and not really about trackers.
Now, I know that there could be possible alternatives to manage more trackers and create a better server to recieve trackers data.
Context : Many months ago, I have created a server which recieve trackers data. It's working with TCP protocol.
In reality, I haven't really created a new one, but "just" converted the C# exemple code of Teltonika to Java and added custom functionnalities.
The server is using 1 thread for 1 connexion. And normally, the connexion is never cut between the server and the tracker.
Theses last months, I have learned limits when using this technique (1 thread for 1 connexion).
I have discovered that it was possible to just use 1 thread to handle multiple clients/trackers. And apparently, it seems to handle more trackers than using many threads.
So I have some questions about this technique.
Is it possible to implement this idea to Teltonika trackers (or TCP IoT in general) ?
I imagine that, if it is possible, I could keep TCP connection open and keep some trackers data like I do on each threads of my server ?
What do you think about this method ?
If you have questions, I will be glad to explain more in details.
Thanks a lot,