Why do you want to use horizontal scaling?
I'm running more than 10k devices on a single traccar server and I want to be able to connect more devices.
Thank you,
as for point 1, so to spread devices by servers, I'll have to buy more public IP addresses for each server. No way to use HAProxy or nginx to load balance traffic?
If I spread devices on multiple servers, what about commands sent via API to devices (stop engine, etc), do I need to maintain a session for every server and send commands to server connected to the device? Do I need to maintain a map: deviceID --> trccar-serverIP?
I never said that you need more public IP addresses. You can and probably should use a load balancer.
For APIs you should probably use load balancer, but it doesn't matter to what server you're connected. All APIs should work fine.
That’s great.
Any tested/recommanded load balancer?
Any load balancer should work. That's not something specific to Traccar.
Just checked with my provider, they allow 20 packets/second for muticast, I think it’s a low value for synchronization of more than 10k devices sending at 10s frequency.
Hello, I am delving into the topic of horizontal scaling of Traccar, I have some doubts about it (I apologize in advance if I ask stupid questions due to my ignorance):
Can you have multiple Traccar servers pointing to the same MySQL database that is located on a separate server?
Can each Traccar server have its own IP address so that for example 10k devices point to the IP of Traccar server 1 and another 10k devices point to Traccar server 2?
When querying the APIs, can I query the APIs of any of the Traccar servers and in theory would they all work since the data comes from a single database server?
Do I necessarily need to have the MySQL database in a database cluster? o This is not a mandatory requirement to scale out Traccar.
In advance, thank you very much to those who help clear my doubts
Thanks you Anton, now i have clear
Hello,
first, thanks for the great features you introduced in recent traccar versions.
I'm planning to migrate to version 6 and I would like to use the horizontal scaling feature and I've some few questions.
I used to have a basic setup with single traccar server with a public IP, and all devices are configured to send to this public IP.
Now if I introduce a new traccar server, and configure both servers to use horizontal scaling (I'll use local ethernet interface to synchronize servers), does the 2nd server needs a public IP too and then I need to manually configure new devices to send to this 2nd public IP or I can continue using the same first public IP for all my devices?
Or I'm totally wrong and I need to have a load balancer in front of traccar servers that uses one single public IP.
Which is faster for synchronization, Redis/multicast, I've a 10Gb ethernet interfaces.
is it better to have mySQL on a server by itself or have it on one of the traccar servers.
if we opt for Redis for synchronization, should Redis be on a dedicated server too?
Thanks