Портфолио FSS WAMP Router
Реално време · Съобщения

FSS WAMP Router

WAMP протоколен рутер, изграден от нулата на Java — WebSocket pub/sub брокер и RPC диспечер, които сами проектирахме, изградихме и поддържаме.

Преглед

WAMP протоколен рутер, изграден от нулата на Java — WebSocket pub/sub брокер и RPC диспечер, които сами проектирахме, изградихме и поддържаме.

FSS WAMP Router е сървър за съобщения в реално време, който проектирахме и изградихме от нулата на Java. Той говори WAMP — Web Application Messaging Protocol — и работи едновременно като брокер за публикуване/абониране (publish/subscribe) и като диспечер за маршрутизирани RPC извиквания през WebSocket, така че браузъри, услуги и устройства да извикват процедури един на друг и да обменят събития през една-единствена връзка. Вместо да разчитаме на чужд брокер, реализирахме протокола сами, директно върху асинхронното ядро на Netty — което ни дава лек, изцяло наш рутер, който нагласяме точно според нуждите на конкретното внедряване.

Удостоверяването и оторизацията са създадени за продукционна среда. Рутерът поддържа стандартизирано ticket ръкостискане (HELLO, CHALLENGE, AUTHENTICATE, WELCOME) и модулен стек, който ясно разделя проверката на удостоверенията, разрешаването на самоличността и определянето на ролята — така че едно внедряване може да валидира срещу статични удостоверения или да делегира на външна HTTPS услуга, по принципа fail-closed, без съхранени тайни на машината. Оторизацията е „отказ по подразбиране“ и базирана на роли, като всяко право е ограничено до изричен URI префикс, а не до всеобхватен wildcard, и проверките се изпълняват извън входно-изходния цикъл, за да не забавят преноса на съобщения.

Изграден е да работи без надзор: endpoint за здравен статус и Prometheus метрики, структурирано JSON логване, ограничен поток със защита от претоварване (backpressure), разумни лимити и таймаути и подсилена, изолирана услуга. Тестван е за съвместимост със стандартни AutobahnJS клиенти и идва с пълен комплект документация за разработчици, оператори, конфигурация и внедряване. В продукция работи с минимален отпечатък в паметта и остава активен с месеци — доказателството, че когато опорната среда в реално време има значение, можем да изградим и поддържаме цялото решение сами.

Чиста имплементация на WAMP върху Netty — pub/sub брокер и RPC диспечер, без чужд брокер
Продукционно удостоверяване: ticket ръкостискане, отказ по подразбиране, ограничено до префикс, външна валидация и fail-closed
Работи без надзор — здравен статус + Prometheus метрики, структурирани логове, backpressure, подсилен systemd
Следващ проект
Walmek — Контрол на достъпа
Вижте повече →