---
name: "razor-discover"
section: "1p"
platform: "linux"
package: "razor"
version: "1.20-1"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/razor-discover"
---

# razor-discover(1p)

Razor Discovery Agent

## NAME

razor-discover - Razor Discovery Agent

## SYNOPSIS

```
    razor-discover -d
```

## DESCRIPTION

All razor agents automatically discover closest server after `"rediscovery_wait"` time has elapsed. `"razor-discover"` forces immediate rediscovery.

## CLOSEST SERVER DISCOVERY PROTOCOL

Razor agents and servers belong to a Razor zone. The default open-source zone is "razor.vipul.net". Servers in a zone are named in order - a.zone, b.zone, c.zone and so on. To discover the closest server, an agent sequentially walks the list of servers from a.zone  till it finds a server with a CNAME of `"list.terminator"`. This indicates the server before `"list.terminator"` is the last server in the zone.

Agents then send out TCP pings to ECHO port of the available servers. The list of servers is sorted on the round trip time of ping packages. The closest server is chosen for all subsequent communications. The list of addresses is written to a file. At some point, when the closest server is not responding, the next closest server is used in its stead.

The next closest server remains the chosen server till rediscovery. This provides seamless recovery from server/network outages, semantically broken servers, and transition from old to new protocols.

All servers in a zone participate in a synchronization protocol to keep their individual copies of the entire Catalogue up-to-date.

## WHEN TO RUN

razor-discover is a diagnostic and development tool. As an end-user, you should never have to run it.

## AUTHOR

Vipul Ved Prakash, \<mail@vipul.net\>

## SEE ALSO

[*razor.conf*(5)](/razor.conf/5.md), [*razor-check*(1)](/razor-check/1.md), [*razor-report*(1)](/razor-report/1.md)

## LICENSE

This is free software, distributed under the ARTISTIC license.
