{"action":"created","issue":{"url":"https://api.github.com/repos/krasserm/akka-persistence-kafka/issues/20","repository_url":"https://api.github.com/repos/krasserm/akka-persistence-kafka","labels_url":"https://api.github.com/repos/krasserm/akka-persistence-kafka/issues/20/labels{/name}","comments_url":"https://api.github.com/repos/krasserm/akka-persistence-kafka/issues/20/comments","events_url":"https://api.github.com/repos/krasserm/akka-persistence-kafka/issues/20/events","html_url":"https://github.com/krasserm/akka-persistence-kafka/issues/20","id":56482571,"number":20,"title":"Use the new async Producer API","user":{"login":"krasserm","id":202907,"avatar_url":"https://avatars.githubusercontent.com/u/202907?v=3","gravatar_id":"","url":"https://api.github.com/users/krasserm","html_url":"https://github.com/krasserm","followers_url":"https://api.github.com/users/krasserm/followers","following_url":"https://api.github.com/users/krasserm/following{/other_user}","gists_url":"https://api.github.com/users/krasserm/gists{/gist_id}","starred_url":"https://api.github.com/users/krasserm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krasserm/subscriptions","organizations_url":"https://api.github.com/users/krasserm/orgs","repos_url":"https://api.github.com/users/krasserm/repos","events_url":"https://api.github.com/users/krasserm/events{/privacy}","received_events_url":"https://api.github.com/users/krasserm/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":29,"created_at":"2015-02-04T05:33:17Z","updated_at":"2016-06-07T05:51:10Z","closed_at":null,"body":"See also http://blog.confluent.io/2014/12/02/whats-coming-in-apache-kafka-0-8-2/"},"comment":{"url":"https://api.github.com/repos/krasserm/akka-persistence-kafka/issues/comments/224185252","html_url":"https://github.com/krasserm/akka-persistence-kafka/issues/20#issuecomment-224185252","issue_url":"https://api.github.com/repos/krasserm/akka-persistence-kafka/issues/20","id":224185252,"user":{"login":"krasserm","id":202907,"avatar_url":"https://avatars.githubusercontent.com/u/202907?v=3","gravatar_id":"","url":"https://api.github.com/users/krasserm","html_url":"https://github.com/krasserm","followers_url":"https://api.github.com/users/krasserm/followers","following_url":"https://api.github.com/users/krasserm/following{/other_user}","gists_url":"https://api.github.com/users/krasserm/gists{/gist_id}","starred_url":"https://api.github.com/users/krasserm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krasserm/subscriptions","organizations_url":"https://api.github.com/users/krasserm/orgs","repos_url":"https://api.github.com/users/krasserm/repos","events_url":"https://api.github.com/users/krasserm/events{/privacy}","received_events_url":"https://api.github.com/users/krasserm/received_events","type":"User","site_admin":false},"created_at":"2016-06-07T05:51:10Z","updated_at":"2016-06-07T05:51:10Z","body":"> As far as I understand this Kafka integration should implement EventLog from Eventuate to support this?\r\n\r\nYes\r\n\r\n> Do you have any ideas how can we support EventsByTag query?\r\n\r\nWith another background job, processing from the persistenceId topics and generating tag topics. The main problem with this approach is that there might be many persistenceId topics to conume from for processing. \r\n\r\nAlternatively, a write journal could write all its events to a single topic partition (or a few topic partitions, e.g. by hashing persistenceIds, for scaling writes) and then use this topic (these topics) to derive everything else:\r\n\r\n- all persistenceIds topic\r\n- persistenceId topics (used to recover individual persistent actors)\r\n- tag topics\r\n\r\nThis approach would also keep events written by a single journal instance in write-order (per partition) which can be very helpful when processing events for creating views (e.g. persistenceId topics or tag topics). Keeping only a write-order per persistenceId during initial writes (as done in most, if not all, existing akka-persistence journals, including this one) can make creating views rather difficult. \r\n\r\nA similar approach is taken in Eventuate, for example, where an event log (written by many event-sourced actors) is indexed to allow efficient replay per actor id."}}
{"actor":{"display_login":"krasserm"}}