# Load balancing with a round robin load balancing method based on the R_MSEC macro

This section describes a round robin load balancing method based on the `R_MSEC` macro of AxoSyslog to load balance your logs between multiple AxoSyslog destinations.

Note If `R_MSEC` is not precise enough, you can replace it with `R_USEC` (which uses microseconds instead of milliseconds). 

For more information about the `R_MSEC` macro and further macros of AxoSyslog, see [Macros of AxoSyslog](../../../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-macros/index.md).

## Example: round robin load balancing between multiple destinations

The following example is a round-robin load balancing method, based on AxoSyslog’s `R_MSEC` macro.
```
 
       destination d_lb_network { 
          channel { 
            channel { 
              filter { 
              "0" == "$(% ${R_MSEC} 2)" 
              }; 
              destination { 
                network("myhost1" 
                  disk-buffer(flow-control-window-size(10000) capacity-bytes(2000000))); 
              }; 
              flags(final); 
            }; 
         
            channel { 
            filter { 
            "1" == "$(% ${R_MSEC} 2)" 
            }; 
        
            destination { 
              network("myhost2" 
                disk-buffer(flow-control-window-size(10000) capacity-bytes(2000000))); 
            }; 
            flags(final); 
            }; 
          }; 
        }; 
    
```

The `filter {" <return value >" == "$(% ${R_MSEC} 2)"};` code snippets (in bold) serve as the basis of the method. This filter separates incoming log messages’ timestamp values based on the `R_MSEC` macro, using a division with remainder method, and distributes the log messages equally between two destinations based on the return value (in this case, `0` or `1`).

If you need a file instead of a network destination, replace the network destination with the file in the example (and use the same analogy for any other AxoSyslog destinations).

For an alternative method to use the round robin load balancing method based on the `R_MSEC` macro, see [Configuration generator for the load balancing method based on MSEC hashing](../../../docs/axosyslog-core/chapter-examples/load-bal-multi-dest/load-bal-multi-dest-msec-h/index.md).

Last modified March 24, 2026: [Typo fix (f92831a2)](<https://github.com/axoflow/axosyslog-core-docs/commit/f92831a20279c5158f53f91fc036bb3603b582cc>)