You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by "Roy Lenferink (JIRA)" <ji...@apache.org> on 2017/02/15 09:42:42 UTC

[jira] [Closed] (CELIX-389) Publisher / subscriber implementation

     [ https://issues.apache.org/jira/browse/CELIX-389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roy Lenferink closed CELIX-389.
-------------------------------
    Resolution: Implemented

> Publisher / subscriber implementation
> -------------------------------------
>
>                 Key: CELIX-389
>                 URL: https://issues.apache.org/jira/browse/CELIX-389
>             Project: Celix
>          Issue Type: Improvement
>            Reporter: Roy Lenferink
>         Attachments: celix-pubsub.tar.gz
>
>
> Over the past few months I've been working together with Pepijn Noltes,
> Erjan Altena and Gabriele Ricciardi on a (secure) publisher / subscriber implementation, which is based on the concepts of the remote service admin (i.e. rsa / topology / discovery pattern).
> Publishers are senders of data, subscribers can receive data. Publishers
> can publish/send data to certain channels (called 'topics' further on), subscribers can subscribe to these topics. For every topic a publisher service is created by the pubsub admin. This publisher is announced through etcd. So etcd is used for discovery of the publishers. Subscribers are also registered as a service by the pubsub admin and will watch etcd for changes and when a new publisher is announced, the subscriber will check if the topic matches its interests. If the subscriber is interested in/subscribed to a certain topic, a connection between publisher and subscriber will be instantiated by the pubsub admin.
> The dfi library is used for message serialization. The publisher / subscriber implementation will arrange that every message which will be send gets an unique id.
> For communication between publishers and subscribers UDP and ZeroMQ can be used. When using ZeroMQ it's also possible to setup a secure connection to encrypt the traffic being send between publishers and subscribers. This connection can be secured with ZeroMQ by using a curve25519 key pair per topic.
> The publisher/subscriber implementation supports sending of a single
> message and sending of multipart messages.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)