agalue / gominion

An implementation of the OpenNMS Minion in Go using gRPC
GNU Affero General Public License v3.0
3 stars 1 forks source link

Add DNS Cache plus Circuit Breaker to handle Reverse DNS Lookups #8

Closed agalue closed 3 years ago

agalue commented 3 years ago

When handling hundreds or thousands of flows per second, there will be a massive amount of DNS requests to perform a Reverse Lookup against the Source and Destination IP addresses found inside the flow packets.

To avoid bottleneck and loss of flow data, the flow processor must have a Cache and a Circuit Breaker, similar to how the Java counterpart already has.

The following has been the changes added to the code: