Size: a a a

Сообщество Python Программистов

2021 May 18

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Базару нет, можно вместо DHT сделать аналог Source Routing'а (меш на OSI L7, ага🌚)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Хмммм, а ведь и правда...
источник

R3

Rud 356 in Сообщество Python Программистов
Бенз и его шиза общаются в чате на протяжении 5 минут смотреть онлайн без смс и регистраций
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Тебе рассказать в чём прикол?)
источник

R3

Rud 356 in Сообщество Python Программистов
Удиви
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Смари, карочи
Пусть будет у нас некоторое количество серверов и некоторое количество клиентов
У всех есть их ключики подписи (чтоб пруфануть что ответил не какой-то левый Васян)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Сервера между собой соединены примерно все со всеми, каждый клиент соединён с одним (ну так проще) сервером
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Задача:
Клиенту A надо нащупать клиента B
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Естественно А знает ключ В
источник

R3

Rud 356 in Сообщество Python Программистов
С хуя ли вдруг?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
По условиям задачи
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Чо происходит:
А кидает серверу запрос "братан, пацкажи где В"
Сервер смотрит список своих клиентов, если не видит у себя В то пересылает остальным серверам этот запрос, они у себя смотрят, если кто нашёл то передаёт клиенту В запрос, тот формирует ответ, и запрос летит по обратному пути
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Естественно у нас тут отсекаются повторяющиеся запросы (если пришёл повторный запрос то он игнорируется)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Естественно запрос и ответ подписываются соответствующими ключиками и проверяются
источник

VA

Vadim Apenko in Сообщество Python Программистов
А если от двух разных клиентов пришёл разные ответ?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Неочевидная деталь: запросы и ответы кешируются, кеш используется для ускорения поиска
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Так, теперь секунду, каким образом?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Алгоритм базовый, ИРЛ там сверху навешиваются приколы разного уровня сложности
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Два разных пути до одного клиента? Или что как
источник

VA

Vadim Apenko in Сообщество Python Программистов
братан, пацкажи где В

Тут от Васи приходит  "В - это вот тот адрес"
Во время этого В меняет адрес и говорит про это Пете.
Пете приходит запрос "братан, пацкажи где В"
И в итоге Петя сообщает актуальный адрес В.

Итого у сервера два ответа с разными адресами до В.
источник