Jak neposílat DDS data tam kam nechci?

Když používate publish subcribe model komunikace, tak si vyberete topiky, které vás zajímají a ty odebíráte.

U DDS®🌀 máme dvě možnosti, jak omezit zasílání dat. Jedná se o:
1️⃣ domény
2️⃣ segmenty💠.

O doménách jsem již mluvil a v tomto videu🎞️👇 se podíváme na segmenty (Partitions).

U domén jsme si řekli, že aplikace může komunikovat pouze s těmi aplikacemi, které jsou ve stejné doméně.

❕ Segmenty umožňují přiřadit topiky do logických skupin. Tím jsme schopni ovlivnit (kromě Topiků), kteří DataWriteři (DW) a DataReadeři (DR) se vzájemně propojí. Protože pouze DW a DR ve stejném segmentu spolu mohou komunikovat.

Informace o segmentech (partitions):

👉 Partitiony jsou přiřazovány entitě Publishera nebo Subscribera a jsou identifikovány pomocí libovolného řetězce znaků.

👉 Ve výchozím stavu patří Publisher a Subscriber do jediné partitiony jejíž jméno je prázdný řetězec.

👉To jestli jsou Publisher a Subscriber ve stejném segmentu se provádí na základě porovnání řetězce znaků. A to z každé strany zvlášť. Také jsme schopni se přihlásit se do segmentu i pomocí regulárních výrazů.

Když například vytvořím segmenty na základě stát-kraj-město-ulice. Tak jsem schopen jednoduše přijímat veškeré topiky, které jsou poskytovány v celém městě, tím že se zapíšu do segmentu stát-kraj-město-*.

Podobně to třeba řeší MQTT nebo AMQP, kde je však toto členění svázáno přímo s topikem. Což není tak flexibilní.

Vezměte si příklad, kdy potřebuji přidělit přístup k různým datům na základě toho, jaká má uživatel práva. U DDS pouze přiřadím tyto topiky data do nového segmentu, ke kterému mají přístup pouze tito daní uživatelé Např. k datům týkající se financí budou mít přístup účetní, projektový manažeři a ředitel.
Nebo v případě kdy chci omezit výměnu dat pouze mezi uživateli, co jsou zapojeni do vojenské mise, cvičení nebo do simulace.

👉 Publisher nebo Subscriber může být součástí více segmentů.

👉 Segmenty jsme schopni dynamicky měnit. Nicméně při změně segmentů je potřeba si dát pozor na to, že v případě, kdy má aplikace nastaveno pomocí QoS že data zasílá i těm co se připojí později, tak tyto aplikace obdrží i ta data, která byla původně zaslána do jiných segmentů.

PP
Author: PP

Podobné příspěvky

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *