I have 2 machines (linux machine run my cpp application). About application: application collect packet from NFQUEUE and log them , based on some logic. The application is simple cpp application that run in infinite loop. the application need to support bandwidth of 500MbpS. The machines dont have an ip . They are kind of not visible listener on the network (identify some business logic logging).
I want to have master slave with minimum performance impact.
I want that all packets will be send to machine A and in case application on machine A stop working (I need your advice on how is best to signal that application stop working) packets should be route to machine B. I dont want to connect the two machines and the solution cannot be single point of failure. I need something like bypass that if the device crash packets still go through it.
Is there any way to do this in hardware or in lower network layer (dosnt want to do this in layer 7).
Hardware cost (the primary/slave "switch" is limit to 1500$).