{"id":1094,"date":"2018-06-21T15:18:03","date_gmt":"2018-06-21T13:18:03","guid":{"rendered":"https:\/\/voxxeddays.com\/microservices2019\/?p=1094"},"modified":"2018-06-21T15:18:03","modified_gmt":"2018-06-21T13:18:03","slug":"grygoriy-gonchar-on-data-consistency","status":"publish","type":"post","link":"https:\/\/voxxeddays.com\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/","title":{"rendered":"Grygoriy Gonchar on Data Consistency"},"content":{"rendered":"<h3>Hi Grygoriy, tell us who you are and what lead you into microservices?<\/h3>\n<p>Last years I\u2019ve been working as a Software Architect in multiple companies and industries. I\u2019m coming mainly with Java hands-on experience and beside distributed systems architecture hold also background and interests in software security. Microservices to me was always a tool to reduce growing system complexity and I believe that microservices architecture and containerization becomes a de facto standard for complex systems and growing organisations.<\/p>\n<h3>What will you be talking about at Voxxed Days Microservices?<\/h3>\n<p>While I was working a lot within financial industry, data consistency was always a challenge with microservices. In financial services such as Kreditech landing planform many communications reflect real money movements and frequently financial data spreads across different domains such as payments, loans or accounting. Making the data consistent was for a long time on my radar and for years I was collecting different solutions to the problem. Recently I\u2019ve joined eBay Classifieds Group Motors Vertical in Berlin and would be happy to add my eBay experiences to my talk as well. In the end I want to present all known to me solutions to reach consistent data representation across multiple microservices such as sagas and compensations, write-ahead log, data reconciliation, change data capture or data replication and finally using events as a single source of truth.<\/p>\n<h3>One of the first difficult thing you need to do when migrating to microservices is to separate your business domain into multiple databases. Do you still see Microservice projects that use a single database ? If yes, what would be your advice ?<\/h3>\n<p>Doing new system from scratch in microservices approach using single database\/schema instance I don\u2019t see as a reasonable solution. The different situation is migration to microservices. While having end picture in mind it\u2019s hard to imaging any migration without intermediate steps. I remember few migrations to microservices that required separation of data. In this case everything depends on the difference of the end-picture comparing to current situation and how many steps are required to reach the end-picture. While in easy scenarios data and codebase migration could take a single shot before going life, more complex scenarios required different approach. We made isolation on code level first without separating deployments and data. Depending on the ownership of the microservices after deployments migration, data migration was prioritized accordingly. If the same team owns the service data sharing hurts less than when the data is modified by services owned by different teams. In such case doing data migration is one of the most urgent items in the technical debt backlog.<\/p>\n<h3>Good, see you soon then<\/h3>\n<p>I\u2019m really excited about the new Voxxeddays format in Paris focused on Microservices which is a golden standard for complex systems architecture so I\u2019m very much looking forward to share my knowledge, learn new things and meet passionate people around!<\/p>\n<p><strong>#microservices #databases #events<\/strong><\/p>\n<p>Twitter: <a href=\"https:\/\/twitter.com\/ggonchar\">https:\/\/twitter.com\/ggonchar<\/a><br \/>\nBlog: <a href=\"https:\/\/medium.com\/@ggonchar\">https:\/\/medium.com\/@ggonchar<\/a><br \/>\nLinkedIn: <a href=\"https:\/\/www.linkedin.com\/in\/grygoriy-gonchar\">https:\/\/www.linkedin.com\/in\/grygoriy-gonchar<\/a><\/p>\n<h3><a href=\"https:\/\/vxdms2018.confinabox.com\/talks\/conf\">Check the other conferences<\/a><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>Hi Grygoriy, tell us who you are and what lead you into microservices? Last years I\u2019ve been working as a Software Architect in multiple companies and industries. I\u2019m coming mainly with Java hands-on experience and beside distributed systems architecture hold also background and interests in software security. Microservices to me was always a tool to [&hellip;]<\/p>\n","protected":false},"author":1301,"featured_media":1093,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[12],"tags":[29,30,19],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Grygoriy Gonchar on Data Consistency : Voxxed Days Microservices 2019<\/title>\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\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Grygoriy Gonchar on Data Consistency : Voxxed Days Microservices 2019\" \/>\n<meta property=\"og:description\" content=\"Hi Grygoriy, tell us who you are and what lead you into microservices? Last years I\u2019ve been working as a Software Architect in multiple companies and industries. I\u2019m coming mainly with Java hands-on experience and beside distributed systems architecture hold also background and interests in software security. Microservices to me was always a tool to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/voxxeddays.com\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/\" \/>\n<meta property=\"og:site_name\" content=\"Voxxed Days Microservices 2019\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/vxdmicroservice\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-21T13:18:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/voxxeddays.com\/microservices\/wp-content\/uploads\/sites\/54\/2018\/06\/GrygoriyGoncharBanner.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"513\" \/>\n<meta property=\"fb:app_id\" content=\"vxdmicroservice\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@agoncal\" \/>\n<meta name=\"twitter:site\" content=\"@vxdmicroservice\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\">\n\t<meta name=\"twitter:data1\" content=\"Antonio Goncalves\">\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\">\n\t<meta name=\"twitter:data2\" content=\"2 minutes\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/voxxeddays.com\/microservices\/#organization\",\"name\":\"Voxxed Days Microservices\",\"url\":\"https:\/\/voxxeddays.com\/microservices\/\",\"sameAs\":[\"https:\/\/www.facebook.com\/vxdmicroservice\/\",\"https:\/\/www.instagram.com\/voxxeddaysmicroservices\",\"https:\/\/www.linkedin.com\/in\/voxxed-days-microservices-906115164\/\",\"https:\/\/www.youtube.com\/playlist?list=PLRsbF2sD7JVrhlYIKTI--IU6xcfUjdNt2\",\"https:\/\/twitter.com\/vxdmicroservice\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/voxxeddays.com\/microservices\/#logo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/voxxeddays.com\/microservices\/wp-content\/uploads\/sites\/54\/2019\/06\/large-Voxxed_Days_Microservices_date_2019-01-2.png\",\"width\":1000,\"height\":387,\"caption\":\"Voxxed Days Microservices\"},\"image\":{\"@id\":\"https:\/\/voxxeddays.com\/microservices\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/voxxeddays.com\/microservices\/#website\",\"url\":\"https:\/\/voxxeddays.com\/microservices\/\",\"name\":\"Voxxed Days Microservices 2019, Conference & workshops\",\"description\":\"A Developer Conference on Microservices\",\"publisher\":{\"@id\":\"https:\/\/voxxeddays.com\/microservices\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/voxxeddays.com\/microservices\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/voxxeddays.com\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/voxxeddays.com\/microservices\/wp-content\/uploads\/sites\/54\/2018\/06\/GrygoriyGoncharBanner.png\",\"width\":1024,\"height\":513,\"caption\":\"Grygoriy Gonchar\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/voxxeddays.com\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/#webpage\",\"url\":\"https:\/\/voxxeddays.com\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/\",\"name\":\"Grygoriy Gonchar on Data Consistency : Voxxed Days Microservices 2019\",\"isPartOf\":{\"@id\":\"https:\/\/voxxeddays.com\/microservices\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/voxxeddays.com\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/#primaryimage\"},\"datePublished\":\"2018-06-21T13:18:03+00:00\",\"dateModified\":\"2018-06-21T13:18:03+00:00\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/voxxeddays.com\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/\"]}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/voxxeddays.com\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/voxxeddays.com\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/#webpage\"},\"author\":{\"@id\":\"https:\/\/voxxeddays.com\/microservices\/#\/schema\/person\/871a4bfea3b1bf117a77bc3fbfeb5f14\"},\"headline\":\"Grygoriy Gonchar on Data Consistency\",\"datePublished\":\"2018-06-21T13:18:03+00:00\",\"dateModified\":\"2018-06-21T13:18:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/voxxeddays.com\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/#webpage\"},\"publisher\":{\"@id\":\"https:\/\/voxxeddays.com\/microservices\/#organization\"},\"image\":{\"@id\":\"https:\/\/voxxeddays.com\/microservices\/2018\/06\/21\/grygoriy-gonchar-on-data-consistency\/#primaryimage\"},\"keywords\":\"databases,events,microservices\",\"articleSection\":\"all\",\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/voxxeddays.com\/microservices\/#\/schema\/person\/871a4bfea3b1bf117a77bc3fbfeb5f14\",\"name\":\"Antonio Goncalves\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/voxxeddays.com\/microservices\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1fc6aa04011b2f0f9721df913b0fd415?s=96&d=mm&r=g\",\"caption\":\"Antonio Goncalves\"},\"description\":\"I am a senior software architect living in Paris. I work as a consultant in helping customers to set up their software architecture. My specialities are Java \/ Java EE and Open Source frameworks that evolve around it. As a former BEA consultant I have a great expertise in application servers (Weblogic, JBoss and GlassFish). So I decided to write a few books about it, create the Paris JUG and Devoxx France.\",\"sameAs\":[\"https:\/\/plus.google.com\/101641663893160877351\",\"https:\/\/twitter.com\/agoncal\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/voxxeddays.com\/microservices\/wp-json\/wp\/v2\/posts\/1094"}],"collection":[{"href":"https:\/\/voxxeddays.com\/microservices\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/voxxeddays.com\/microservices\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/voxxeddays.com\/microservices\/wp-json\/wp\/v2\/users\/1301"}],"replies":[{"embeddable":true,"href":"https:\/\/voxxeddays.com\/microservices\/wp-json\/wp\/v2\/comments?post=1094"}],"version-history":[{"count":0,"href":"https:\/\/voxxeddays.com\/microservices\/wp-json\/wp\/v2\/posts\/1094\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/voxxeddays.com\/microservices\/wp-json\/wp\/v2\/media\/1093"}],"wp:attachment":[{"href":"https:\/\/voxxeddays.com\/microservices\/wp-json\/wp\/v2\/media?parent=1094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/voxxeddays.com\/microservices\/wp-json\/wp\/v2\/categories?post=1094"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/voxxeddays.com\/microservices\/wp-json\/wp\/v2\/tags?post=1094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}