Читаю книгу System Design, Алекс Сюй. Один из кейсов - создание архитектуры для чата, но мне стала интересна современная реализация высоконагруженной платформы.
Думаю дай-ка сделаю, проектов и работы же мало, надо еще больше :)
Пошел смотреть, а чем все-таки можно заменить достаточно старый Websocket, неужели не появилось более современных альтернатив.
Нашел - gRPC bidirectional streaming. Возбудился, стал рыть - преимущества большие, но как всегда с gRPC все плохо с браузерами, до сих пор поддержка HTTP 1/2, можно через grpc-web и envoy проксировать, но полноценной поддержи bidirectional streaming нет. Только server streaming + unary calls.
Надежда еще живет, немного покопаю, но чувствую кроссплатформу можно сделать только на старом добром Websocket.
Есть еще WebTransport, вроде поддерживает UDP-like streaming. Еще Server Sent Events, но я так понял это что-то типо Long Polling. Тоже покопаю.
#systemdesign #архитектура #OpenSource
Post #465
410
- 👍 4
- 🌚 1