Хочу похвастаться своим последним "прозрением". Как только я перешёл от терминов client-server к master-slave, всё сразу +- встало на свои места :D

Звучит забавно, но это действительно мешало По логике можно было бы предположить что сервер стал бы slave, потому что если переводить, server - это буквально "обслуживающий". Но тут всё немного сложнее и строго говоря вообще наоборот.

Здесь я за референс взял мультиплеерные игры Мастер инкапсулирует всю логику (был сервером), а slave (который был клиентом) только реагирует на изменения у мастера (на сервере) чтобы корректно отображать актуальную информацию пользователю. Ну и slave (клиент) рассказывает мастеру о действиях пользователя. На мой взгляд логика здесь не нарушена потому что мастер может и послать пользователя лесом если у него по бизнес логике что-то не сошлось. Всё как в отношениях игрового сервера и игрового клиента.

Почему master и slave? В основном меня путало что когда пользователь хочет что-то сделать - он через клиента отправляет запросы на сервер. И здесь всё ок. Но если клиентов много, то серверу не достаточно просто ответить тому клиенту, от которого пришёл запрос. Серверу нужно рассказать всем клиентам об этих изменениях, и получается что здесь уже клиенты выступают в роли серверов.

больше новостей по проекту здесь: https://t.me/ii_constructor

Хочу похвастаться своим последним "прозрением" | Сетка — социальная сеть от hh.ru Хочу похвастаться своим последним "прозрением" | Сетка — социальная сеть от hh.ru