[ https://issues.apache.org/jira/browse/CELIX-389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roy Lenferink updated CELIX-389: -------------------------------- Attachment: celix-pubsub.tar.gz MD5 sum: a036dd06037b755448cb0b7ed0f13c30 SHA1 sum: 7a28119a6805cd82289eb41674628ea502fdccac > 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.4#6332)