Привет. Опишите пожалуйста, на ваш взгляд, слабые места
такой архитектуры.
Пока что я вижу следующие:
— не является честным p2p, есть централизованные элементы
— безопасна к перехвату, но не рассчитана на анонимность
— является очередным велосипедом
По первому минусу — он позволяет значительно упростить реализацию и интерфейс, оставляя его таким же, как и большинства популярных IM. Децентрализация достигается за счёт неограниченного количества серверов.
По второму — любые штуки, гарантирующие анонимность будут усложнять архитектуру, уменьшать скорость работы и увеличивать трафик. Кроме того частичная анонимность всё же будет доступна — при отправке сообщений через сервер прямой ip сходу определить не получится.
По третьему — наиболее близкая архитектура у XMPP. Основные отличия:
— шифрование сообщений, сервер не может дешифровать сообщения пользователя (в XMPP — по умолчанию — можно).
— прямые соеднения между клиентами (&обход NAT)
— google protobuff (вместо XML)
— встроенные в основной протокол аудио & видео звонки.
— отсутствие в протоколе расширений и запрет на модификацию протокола (нельзя сделать клиент, который, к примеру, использует другой видеокодек).
Хотелось бы услышать конструктивную критику.