{"action":"created","issue":{"url":"https://api.github.com/repos/isaacabraham/FSharp.CloudAgent/issues/6","labels_url":"https://api.github.com/repos/isaacabraham/FSharp.CloudAgent/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/isaacabraham/FSharp.CloudAgent/issues/6/comments","events_url":"https://api.github.com/repos/isaacabraham/FSharp.CloudAgent/issues/6/events","html_url":"https://github.com/isaacabraham/FSharp.CloudAgent/issues/6","id":55514430,"number":6,"title":"Support Topics and Subscriptions","user":{"login":"AndyCross","id":773613,"avatar_url":"https://avatars.githubusercontent.com/u/773613?v=3","gravatar_id":"","url":"https://api.github.com/users/AndyCross","html_url":"https://github.com/AndyCross","followers_url":"https://api.github.com/users/AndyCross/followers","following_url":"https://api.github.com/users/AndyCross/following{/other_user}","gists_url":"https://api.github.com/users/AndyCross/gists{/gist_id}","starred_url":"https://api.github.com/users/AndyCross/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AndyCross/subscriptions","organizations_url":"https://api.github.com/users/AndyCross/orgs","repos_url":"https://api.github.com/users/AndyCross/repos","events_url":"https://api.github.com/users/AndyCross/events{/privacy}","received_events_url":"https://api.github.com/users/AndyCross/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-01-26T17:52:42Z","updated_at":"2015-01-31T16:26:41Z","closed_at":null,"body":"\r\n[Subscriptions are the bomb](https://msdn.microsoft.com/en-us/library/azure/hh367516.aspx)\r\n\r\nIn contrast to queues, in which each message is processed by a single consumer, topics and subscriptions provide a one-to-many form of communication, in a “publish/subscribe” pattern. Useful for scaling to very large numbers of recipients, each published message is made available to each subscription registered with the topic. Messages are sent to a topic and delivered to one or more associated subscriptions, depending on filter rules that can be set on a per-subscription basis. The subscriptions can use additional filters to restrict the messages that they want to receive. Messages are sent to a topic in the same way they are sent to a queue, but messages are not received from the topic directly. Instead, they are received from subscriptions. A topic subscription resembles a virtual queue that receives copies of the messages that are sent to the topic. Messages are received from a subscription identically to the way they are received from a queue.\r\n\r\nBy way of comparison, the message-sending functionality of a queue maps directly to a topic and its message-receiving functionality maps to a subscription"},"comment":{"url":"https://api.github.com/repos/isaacabraham/FSharp.CloudAgent/issues/comments/72324421","html_url":"https://github.com/isaacabraham/FSharp.CloudAgent/issues/6#issuecomment-72324421","issue_url":"https://api.github.com/repos/isaacabraham/FSharp.CloudAgent/issues/6","id":72324421,"user":{"login":"AndyCross","id":773613,"avatar_url":"https://avatars.githubusercontent.com/u/773613?v=3","gravatar_id":"","url":"https://api.github.com/users/AndyCross","html_url":"https://github.com/AndyCross","followers_url":"https://api.github.com/users/AndyCross/followers","following_url":"https://api.github.com/users/AndyCross/following{/other_user}","gists_url":"https://api.github.com/users/AndyCross/gists{/gist_id}","starred_url":"https://api.github.com/users/AndyCross/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AndyCross/subscriptions","organizations_url":"https://api.github.com/users/AndyCross/orgs","repos_url":"https://api.github.com/users/AndyCross/repos","events_url":"https://api.github.com/users/AndyCross/events{/privacy}","received_events_url":"https://api.github.com/users/AndyCross/received_events","type":"User","site_admin":false},"created_at":"2015-01-31T16:26:41Z","updated_at":"2015-01-31T16:26:41Z","body":"They can all receive on the same subscription, the queueing semantics are the same. The magic is in the pubsub which happens behind the scenes before the subscription client tries to pop from the queue.\r\n\r\nAddressing the correct subscription is often done algorithmically so you should probably just let consumers of cloud agent supply the subscription to read\r\n________________________________\r\nFrom: Isaac Abraham<mailto:notifications@github.com>\r\nSent: ý31/ý01/ý2015 16:00\r\nTo: isaacabraham/FSharp.CloudAgent<mailto:FSharp.CloudAgent@noreply.github.com>\r\nCc: Andy Cross<mailto:andy@elastacloud.com>\r\nSubject: Re: [FSharp.CloudAgent] Support Topics and Subscriptions (#6)\r\n\r\n\r\n@AndyCross<https://github.com/AndyCross> can you have many receivers of a single subscription? so imagine you had ten instances of CloudAgent, would they need to each have a separate subscription to the topic or could they all receive on the same subscription?\r\n\r\n—\r\nReply to this email directly or view it on GitHub<https://github.com/isaacabraham/FSharp.CloudAgent/issues/6#issuecomment-72323329>."}}