ZeroMQ и простой обмен сообщениями с подключением и отключением точно в срок - PullRequest
2 голосов
/ 06 марта 2019

Используя HTTP, я могу легко разрабатывать код обмена данными между серверами.Например,

На сервере 1,

func1()
{
    curl("https://server2/func2");
}

[route("func3")]
func3()
{
    // finished!
}

На сервере 2,

[route("func2")]
func2()
{
    curl("https://server1/func3");
}

Используя эти два (код ответа curl и http), мне не нужнозаписать в сокет соединения или разъединения или сокета принять.Да, это удобно.

Тем не менее, HTTP тяжел для меня.Производительность имеет значение.Мне не нужен ни HTTP, ни SSL.HTTP-запросы включают одноразовое TCP-соединение и отключение для каждого запроса.

Я ищу простой сетевой модуль, подобный следующему:

  1. Внутренне, если межсерверная связь не существует, установите один раз вовремя, затем отправьтесообщение.Если он существует, используйте его повторно.
  2. Внутренне. Если связь между серверами не используется в течение длительного времени, отключите его.
  3. Сервер просто отправляет сообщение на другой сервер, независимо от того,соединения существует или нет.
  4. Между серверами нет процесса ретрансляции или посредничества.Серверы общаются напрямую.

Я нашел ZeroMQ.ZeroMQ предоставляет множество сетевых шаблонов с причудливым названием, например, Titanic или Espresso.Я искал, который выполняет то, что описано выше в ZeroMQ, но я не могу его найти.Lazy Pirate, похоже, похож на другой, но он включает операторов подключения и отключения .

С ZeroMQ я могу это сделать?

...