{"action":"created","issue":{"url":"https://api.github.com/repos/Rotorsoft/firebase-event-store/issues/1","repository_url":"https://api.github.com/repos/Rotorsoft/firebase-event-store","labels_url":"https://api.github.com/repos/Rotorsoft/firebase-event-store/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/Rotorsoft/firebase-event-store/issues/1/comments","events_url":"https://api.github.com/repos/Rotorsoft/firebase-event-store/issues/1/events","html_url":"https://github.com/Rotorsoft/firebase-event-store/issues/1","id":392883004,"node_id":"MDU6SXNzdWUzOTI4ODMwMDQ=","number":1,"title":"Have you considered Google Cloud Pub/Sub as Event Stream/Queue/Bus?","user":{"login":"shafqatevo","id":5596095,"node_id":"MDQ6VXNlcjU1OTYwOTU=","avatar_url":"https://avatars1.githubusercontent.com/u/5596095?v=4","gravatar_id":"","url":"https://api.github.com/users/shafqatevo","html_url":"https://github.com/shafqatevo","followers_url":"https://api.github.com/users/shafqatevo/followers","following_url":"https://api.github.com/users/shafqatevo/following{/other_user}","gists_url":"https://api.github.com/users/shafqatevo/gists{/gist_id}","starred_url":"https://api.github.com/users/shafqatevo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shafqatevo/subscriptions","organizations_url":"https://api.github.com/users/shafqatevo/orgs","repos_url":"https://api.github.com/users/shafqatevo/repos","events_url":"https://api.github.com/users/shafqatevo/events{/privacy}","received_events_url":"https://api.github.com/users/shafqatevo/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-12-20T04:24:29Z","updated_at":"2019-01-04T03:36:05Z","closed_at":"2018-12-22T00:55:13Z","author_association":"NONE","body":"Hi,\r\n\r\nThis looks so exciting! We're also embarking on a CQRS-ES project with Firestore as backend and exploring our options. We'll only have Cloud Functions in the backend and AngularDart and Flutter for the client apps.\r\n\r\nSo, have you considered Google's Cloud Pub/Sub for event stream/queue/bus? I have seen it being used in conjunction with Firebase services including Firestore in one of Google's talks.\r\n\r\nAlso, do you see any major limitations of using Firestore as general purpose Event Store?"},"comment":{"url":"https://api.github.com/repos/Rotorsoft/firebase-event-store/issues/comments/451346091","html_url":"https://github.com/Rotorsoft/firebase-event-store/issues/1#issuecomment-451346091","issue_url":"https://api.github.com/repos/Rotorsoft/firebase-event-store/issues/1","id":451346091,"node_id":"MDEyOklzc3VlQ29tbWVudDQ1MTM0NjA5MQ==","user":{"login":"Rotorsoft","id":41707007,"node_id":"MDQ6VXNlcjQxNzA3MDA3","avatar_url":"https://avatars3.githubusercontent.com/u/41707007?v=4","gravatar_id":"","url":"https://api.github.com/users/Rotorsoft","html_url":"https://github.com/Rotorsoft","followers_url":"https://api.github.com/users/Rotorsoft/followers","following_url":"https://api.github.com/users/Rotorsoft/following{/other_user}","gists_url":"https://api.github.com/users/Rotorsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Rotorsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Rotorsoft/subscriptions","organizations_url":"https://api.github.com/users/Rotorsoft/orgs","repos_url":"https://api.github.com/users/Rotorsoft/repos","events_url":"https://api.github.com/users/Rotorsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Rotorsoft/received_events","type":"User","site_admin":false},"created_at":"2019-01-04T03:36:05Z","updated_at":"2019-01-04T03:36:05Z","author_association":"OWNER","body":"The event store already covers the producer side of a Kafka like approach. All is needed to get a decent bus is a structurally and temporarily decoupled mechanism to push events to registered consumers and keep track of their confirmed reading offset in the log (also like Kafka but with the added benefit of simpler consumers just focused on business logic since the bus will push instead of the consumers polling and keeping track of their position). I will probably drop some code soon to test this approach. "}}
{"actor":{"display_login":"Rotorsoft"}}