{"id":3374,"date":"2023-01-17T16:37:34","date_gmt":"2023-01-17T16:37:34","guid":{"rendered":"https:\/\/manorinfinity.com\/?p=3374"},"modified":"2023-01-17T16:37:36","modified_gmt":"2023-01-17T16:37:36","slug":"monorepo-microservices-bandying-concepts","status":"publish","type":"post","link":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/","title":{"rendered":"Monorepo &#038; Microservices: Bandying Concepts"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-large-font-size\">Monorepo and Microservices are two completely different concepts yet often used interchangeably<\/p>\n<\/blockquote>\n\n\n\n<p>You might have managed multiple repositories for inter related projects. <strong>Monorepo simply puts all these inter related projects into one single repositories<\/strong>. This way you have to manage one single repository for all the projects. You setup deployment flow with single repo. Monorepo also enable code sharing. It originally originated in 2000s. The Software development strategy has been widely used for enterprise development. <\/p>\n\n\n\n<p>Monorepo is implemented on top of microservices in many cases. <a href=\"https:\/\/manorinfinity.com\/2023\/01\/16\/micro-services-architecture-supercharged-scalability\/\" data-type=\"URL\" data-id=\"https:\/\/manorinfinity.com\/2023\/01\/16\/micro-services-architecture-supercharged-scalability\/\" target=\"_blank\" rel=\"noreferrer noopener\">Microservices<\/a> is a software development technique which is quite hot right now. A variant of Service Oriented Architecture(SOA) that <strong>arranges applications as a collection of losely coupled services<\/strong>. Instead of having everything in one single application we have multiple losely coupled microservices. <strong>Each service can have separate database, can be written in different languages and are also easy to replace<\/strong>.<\/p>\n\n\n\n<p><strong>Microservices interact with each other using TCP, <a href=\"https:\/\/kafka.apache.org\/\" data-type=\"URL\" data-id=\"https:\/\/kafka.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">kafka<\/a>, or any other such facility<\/strong>. Each microservice when enabled to use TCP can communicate with other connected services via <strong>Message Patterns and Event Patterns<\/strong>. <strong>Event Patterns are basically events emitted that sends a signal to execute a certain functionality<\/strong>. For example, sending an email once db is updated. <strong>Message Pattern on the other hand allows to exchange data between microservices.<\/strong> <\/p>\n\n\n\n<p>For example, you need some data from DB microservice you send it a message pattern and retrieve data. <strong>Now if you are creating all the microservices with same technology you can also create Monorepo in such a way to share package dependencies in between<\/strong>. Like NestJS implements Monorepo architecture. In NestJS you can have as many apps as you need in a separate apps folder. You can have a common libs folder shared among all the apps. You can enable intercommunication using kafka, TCP. Now you must ask how to implement these architectures? For that you need to check out my other blog which is part of this series. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Monorepo and Microservices are two completely different concepts yet often used interchangeably You might have managed multiple repositories for inter related projects. Monorepo simply puts all these inter related projects into one single repositories. This way you have to manage one single repository for all the projects. You setup deployment&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/\">Read the post<span class=\"screen-reader-text\">Monorepo &#038; Microservices: Bandying Concepts<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":3407,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[205],"tags":[1181,1183],"class_list":["post-3374","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-moments","tag-microservices","tag-nestjs","excerpt","zoom","full-without-featured","even","excerpt-0"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.12 (Yoast SEO v26.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Monorepo &amp; Microservices: Bandying Concepts | ManOrInfinity<\/title>\n<meta name=\"description\" content=\"Monorepo microservices how are they different? is monorepo and microservice same? what are advantages of using monorepo over microservices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Monorepo &amp; Microservices: Bandying Concepts\" \/>\n<meta property=\"og:url\" content=\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/\" \/>\n<meta property=\"og:site_name\" content=\"ManOrInfinity\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-17T16:37:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-17T16:37:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/manorinfinity.com\/blog\/wp-content\/uploads\/2023\/01\/photo-1613690399151-65ea69478674.png?fit=873%2C581&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"873\" \/>\n\t<meta property=\"og:image:height\" content=\"581\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"manorinfinity\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@manorinfinity\" \/>\n<meta name=\"twitter:site\" content=\"@manorinfinity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"manorinfinity\" \/>\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\":\"Article\",\"@id\":\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/\"},\"author\":{\"name\":\"manorinfinity\",\"@id\":\"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/1172b1895b5eb7e49cc8640e49255901\"},\"headline\":\"Monorepo &#038; Microservices: Bandying Concepts\",\"datePublished\":\"2023-01-17T16:37:34+00:00\",\"dateModified\":\"2023-01-17T16:37:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/\"},\"wordCount\":327,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/1172b1895b5eb7e49cc8640e49255901\"},\"image\":{\"@id\":\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/manorinfinity.com\/blog\/wp-content\/uploads\/2023\/01\/photo-1613690399151-65ea69478674.png?fit=873%2C581&ssl=1\",\"keywords\":[\"microservices\",\"nestjs\"],\"articleSection\":[\"CodeMoments\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/\",\"url\":\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/\",\"name\":\"Monorepo & Microservices: Bandying Concepts | ManOrInfinity\",\"isPartOf\":{\"@id\":\"https:\/\/manorinfinity.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/manorinfinity.com\/blog\/wp-content\/uploads\/2023\/01\/photo-1613690399151-65ea69478674.png?fit=873%2C581&ssl=1\",\"datePublished\":\"2023-01-17T16:37:34+00:00\",\"dateModified\":\"2023-01-17T16:37:36+00:00\",\"description\":\"Monorepo microservices how are they different? is monorepo and microservice same? what are advantages of using monorepo over microservices.\",\"breadcrumb\":{\"@id\":\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/manorinfinity.com\/blog\/wp-content\/uploads\/2023\/01\/photo-1613690399151-65ea69478674.png?fit=873%2C581&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/manorinfinity.com\/blog\/wp-content\/uploads\/2023\/01\/photo-1613690399151-65ea69478674.png?fit=873%2C581&ssl=1\",\"width\":873,\"height\":581},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/manorinfinity.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monorepo &#038; Microservices: Bandying Concepts\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/manorinfinity.com\/blog\/#website\",\"url\":\"https:\/\/manorinfinity.com\/blog\/\",\"name\":\"ManOrInfinity\",\"description\":\"Thrive towards greatness\",\"publisher\":{\"@id\":\"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/1172b1895b5eb7e49cc8640e49255901\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/manorinfinity.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/1172b1895b5eb7e49cc8640e49255901\",\"name\":\"manorinfinity\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/manorinfinity.com\/wp-content\/uploads\/2023\/06\/moi-logo.png\",\"contentUrl\":\"http:\/\/manorinfinity.com\/wp-content\/uploads\/2023\/06\/moi-logo.png\",\"width\":282,\"height\":260,\"caption\":\"manorinfinity\"},\"logo\":{\"@id\":\"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Complex Problem Solver, Outloud Thinker, An Outstanding Writer, and a very curious human being\",\"sameAs\":[\"http:\/\/manorinfinity.com\"],\"url\":\"https:\/\/manorinfinity.com\/blog\/author\/manorinfinity\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Monorepo & Microservices: Bandying Concepts | ManOrInfinity","description":"Monorepo microservices how are they different? is monorepo and microservice same? what are advantages of using monorepo over microservices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/","og_locale":"en_US","og_type":"article","og_title":"Monorepo & Microservices: Bandying Concepts","og_url":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/","og_site_name":"ManOrInfinity","article_published_time":"2023-01-17T16:37:34+00:00","article_modified_time":"2023-01-17T16:37:36+00:00","og_image":[{"width":873,"height":581,"url":"https:\/\/i0.wp.com\/manorinfinity.com\/blog\/wp-content\/uploads\/2023\/01\/photo-1613690399151-65ea69478674.png?fit=873%2C581&ssl=1","type":"image\/png"}],"author":"manorinfinity","twitter_card":"summary_large_image","twitter_creator":"@manorinfinity","twitter_site":"@manorinfinity","twitter_misc":{"Written by":"manorinfinity","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#article","isPartOf":{"@id":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/"},"author":{"name":"manorinfinity","@id":"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/1172b1895b5eb7e49cc8640e49255901"},"headline":"Monorepo &#038; Microservices: Bandying Concepts","datePublished":"2023-01-17T16:37:34+00:00","dateModified":"2023-01-17T16:37:36+00:00","mainEntityOfPage":{"@id":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/"},"wordCount":327,"commentCount":0,"publisher":{"@id":"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/1172b1895b5eb7e49cc8640e49255901"},"image":{"@id":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/manorinfinity.com\/blog\/wp-content\/uploads\/2023\/01\/photo-1613690399151-65ea69478674.png?fit=873%2C581&ssl=1","keywords":["microservices","nestjs"],"articleSection":["CodeMoments"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/","url":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/","name":"Monorepo & Microservices: Bandying Concepts | ManOrInfinity","isPartOf":{"@id":"https:\/\/manorinfinity.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#primaryimage"},"image":{"@id":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/manorinfinity.com\/blog\/wp-content\/uploads\/2023\/01\/photo-1613690399151-65ea69478674.png?fit=873%2C581&ssl=1","datePublished":"2023-01-17T16:37:34+00:00","dateModified":"2023-01-17T16:37:36+00:00","description":"Monorepo microservices how are they different? is monorepo and microservice same? what are advantages of using monorepo over microservices.","breadcrumb":{"@id":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#primaryimage","url":"https:\/\/i0.wp.com\/manorinfinity.com\/blog\/wp-content\/uploads\/2023\/01\/photo-1613690399151-65ea69478674.png?fit=873%2C581&ssl=1","contentUrl":"https:\/\/i0.wp.com\/manorinfinity.com\/blog\/wp-content\/uploads\/2023\/01\/photo-1613690399151-65ea69478674.png?fit=873%2C581&ssl=1","width":873,"height":581},{"@type":"BreadcrumbList","@id":"https:\/\/manorinfinity.com\/blog\/2023\/01\/17\/monorepo-microservices-bandying-concepts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/manorinfinity.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Monorepo &#038; Microservices: Bandying Concepts"}]},{"@type":"WebSite","@id":"https:\/\/manorinfinity.com\/blog\/#website","url":"https:\/\/manorinfinity.com\/blog\/","name":"ManOrInfinity","description":"Thrive towards greatness","publisher":{"@id":"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/1172b1895b5eb7e49cc8640e49255901"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/manorinfinity.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/1172b1895b5eb7e49cc8640e49255901","name":"manorinfinity","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/image\/","url":"http:\/\/manorinfinity.com\/wp-content\/uploads\/2023\/06\/moi-logo.png","contentUrl":"http:\/\/manorinfinity.com\/wp-content\/uploads\/2023\/06\/moi-logo.png","width":282,"height":260,"caption":"manorinfinity"},"logo":{"@id":"https:\/\/manorinfinity.com\/blog\/#\/schema\/person\/image\/"},"description":"Complex Problem Solver, Outloud Thinker, An Outstanding Writer, and a very curious human being","sameAs":["http:\/\/manorinfinity.com"],"url":"https:\/\/manorinfinity.com\/blog\/author\/manorinfinity\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/manorinfinity.com\/blog\/wp-content\/uploads\/2023\/01\/photo-1613690399151-65ea69478674.png?fit=873%2C581&ssl=1","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/manorinfinity.com\/blog\/wp-json\/wp\/v2\/posts\/3374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/manorinfinity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/manorinfinity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/manorinfinity.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/manorinfinity.com\/blog\/wp-json\/wp\/v2\/comments?post=3374"}],"version-history":[{"count":1,"href":"https:\/\/manorinfinity.com\/blog\/wp-json\/wp\/v2\/posts\/3374\/revisions"}],"predecessor-version":[{"id":3408,"href":"https:\/\/manorinfinity.com\/blog\/wp-json\/wp\/v2\/posts\/3374\/revisions\/3408"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/manorinfinity.com\/blog\/wp-json\/wp\/v2\/media\/3407"}],"wp:attachment":[{"href":"https:\/\/manorinfinity.com\/blog\/wp-json\/wp\/v2\/media?parent=3374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/manorinfinity.com\/blog\/wp-json\/wp\/v2\/categories?post=3374"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/manorinfinity.com\/blog\/wp-json\/wp\/v2\/tags?post=3374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}