{"id":2103,"date":"2016-01-08T17:23:05","date_gmt":"2016-01-08T15:23:05","guid":{"rendered":"http:\/\/voxxeddays.com\/bucharest\/?p=2103"},"modified":"2016-01-28T22:07:47","modified_gmt":"2016-01-28T20:07:47","slug":"an-architecture-with-cqrs-and-event-sourcing","status":"publish","type":"post","link":"https:\/\/voxxeddays.com\/greece\/2016\/01\/08\/an-architecture-with-cqrs-and-event-sourcing\/","title":{"rendered":"An Architecture with CQRS and Event Sourcing"},"content":{"rendered":"<h2>An Architecture with CQRS and Event Sourcing<\/h2>\n<p><img loading=\"lazy\" class=\"image-medalion-post alignright wp-image-1963\" src=\"https:\/\/voxxeddays.com\/bucharest\/wp-content\/uploads\/sites\/19\/2015\/08\/photo-e1452061937528.jpg\" alt=\"photo An Architecture with CQRS and Event Sourcing\" width=\"130\" height=\"130\" \/><\/p>\n<blockquote>\n<p class=\"p1\"><span class=\"s1\"><a href=\"https:\/\/twitter.com\/baeldung\" target=\"_blank\">Eugen Paraschiv<\/a> is an engineer with a passion for Java, Spring, REST, TDD, and more recently producing great video. He\u00a0spends most of his\u00a0time teaching, writing, curating the weekly review and wearing many other hats on <a href=\"http:\/\/www.baeldung.com\/\" target=\"_blank\">baeldung.com<\/a>. He\u00a0spoke\u00a0at many\u00a0JUG meetings, the Spring IO in Barcelona, as well as several live webinars (he holds one every two weeks). Right now he is\u00a0working on a course (REST With Spring).<\/span><\/p>\n<\/blockquote>\n<p class=\"p1\"><span class=\"s1\">In this talk, I will share my experience building and deploying an event-sourced, CQRS Spring application. You will learn about the challenges of separating the update model from the query model in a complex domain, how commands naturally lead to events and to an event based system, and how these events get projected into useful, eventually consistent views. You will also learn about using the right type of persistence for each projection &#8211; Spring Data JPA for some, Spring Data Elasticsearch for others, etc. Finally &#8211; we\u2019ll see how Projections can be separated from one another and run independently in separate Spring Contexts, separate processes and even separate hardware. The fact that Projections are just another name for Microservices is just gravy.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>An Architecture with CQRS and Event Sourcing Eugen Paraschiv is an engineer with a passion for Java, Spring, REST, TDD, and more recently producing great video. He\u00a0spends most of his\u00a0time teaching, writing, curating the weekly review and wearing many other hats on baeldung.com. He\u00a0spoke\u00a0at many\u00a0JUG meetings, the Spring IO in Barcelona, as well as several [&hellip;]<\/p>\n","protected":false},"author":7816,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[44],"tags":[72,42,71],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>An Architecture with CQRS and Event Sourcing - Voxxed Days Greece<\/title>\n<meta name=\"description\" content=\"An Architecture with CQRS and Event Sourcing -\u00a0share my experience building and deploying an event-sourced, CQRS Spring application\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/voxxeddays.com\/greece\/2016\/01\/08\/an-architecture-with-cqrs-and-event-sourcing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"An Architecture with CQRS and Event Sourcing - Voxxed Days Greece\" \/>\n<meta property=\"og:description\" content=\"An Architecture with CQRS and Event Sourcing -\u00a0share my experience building and deploying an event-sourced, CQRS Spring application\" \/>\n<meta property=\"og:url\" content=\"https:\/\/voxxeddays.com\/greece\/2016\/01\/08\/an-architecture-with-cqrs-and-event-sourcing\/\" \/>\n<meta property=\"og:site_name\" content=\"Voxxed Days Greece\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/voxxedbucharest\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-08T15:23:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-01-28T20:07:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/voxxeddays.com\/bucharest\/wp-content\/uploads\/sites\/19\/2015\/08\/photo-e1452061937528.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@VoxxedBucharest\" \/>\n<meta name=\"twitter:site\" content=\"@VoxxedBucharest\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\">\n\t<meta name=\"twitter:data1\" content=\"alexproca\">\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\">\n\t<meta name=\"twitter:data2\" content=\"1 minute\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/voxxeddays.com\/greece\/#website\",\"url\":\"https:\/\/voxxeddays.com\/greece\/\",\"name\":\"Voxxed Days Greece\",\"description\":\"Another Voxxed event\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/voxxeddays.com\/greece\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/voxxeddays.com\/greece\/2016\/01\/08\/an-architecture-with-cqrs-and-event-sourcing\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/voxxeddays.com\/bucharest\/wp-content\/uploads\/sites\/19\/2015\/08\/photo-e1452061937528.jpg\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/voxxeddays.com\/greece\/2016\/01\/08\/an-architecture-with-cqrs-and-event-sourcing\/#webpage\",\"url\":\"https:\/\/voxxeddays.com\/greece\/2016\/01\/08\/an-architecture-with-cqrs-and-event-sourcing\/\",\"name\":\"An Architecture with CQRS and Event Sourcing - Voxxed Days Greece\",\"isPartOf\":{\"@id\":\"https:\/\/voxxeddays.com\/greece\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/voxxeddays.com\/greece\/2016\/01\/08\/an-architecture-with-cqrs-and-event-sourcing\/#primaryimage\"},\"datePublished\":\"2016-01-08T15:23:05+00:00\",\"dateModified\":\"2016-01-28T20:07:47+00:00\",\"author\":{\"@id\":\"https:\/\/voxxeddays.com\/greece\/#\/schema\/person\/3610fff738a03b155237ab4707e803eb\"},\"description\":\"An Architecture with CQRS and Event Sourcing -\\u00a0share my experience building and deploying an event-sourced, CQRS Spring application\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/voxxeddays.com\/greece\/2016\/01\/08\/an-architecture-with-cqrs-and-event-sourcing\/\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/voxxeddays.com\/greece\/#\/schema\/person\/3610fff738a03b155237ab4707e803eb\",\"name\":\"alexproca\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/voxxeddays.com\/greece\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fb9bbcf4c88be28b95644b3697985fcb?s=96&d=mm&r=g\",\"caption\":\"alexproca\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/voxxeddays.com\/greece\/wp-json\/wp\/v2\/posts\/2103"}],"collection":[{"href":"https:\/\/voxxeddays.com\/greece\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/voxxeddays.com\/greece\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/voxxeddays.com\/greece\/wp-json\/wp\/v2\/users\/7816"}],"replies":[{"embeddable":true,"href":"https:\/\/voxxeddays.com\/greece\/wp-json\/wp\/v2\/comments?post=2103"}],"version-history":[{"count":0,"href":"https:\/\/voxxeddays.com\/greece\/wp-json\/wp\/v2\/posts\/2103\/revisions"}],"wp:attachment":[{"href":"https:\/\/voxxeddays.com\/greece\/wp-json\/wp\/v2\/media?parent=2103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/voxxeddays.com\/greece\/wp-json\/wp\/v2\/categories?post=2103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/voxxeddays.com\/greece\/wp-json\/wp\/v2\/tags?post=2103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}