{"id":25524401,"date":"2022-05-16T16:01:12","date_gmt":"2022-05-16T10:31:12","guid":{"rendered":"https:\/\/entri.app\/blog\/?p=25524401"},"modified":"2022-11-20T08:13:55","modified_gmt":"2022-11-20T02:43:55","slug":"java-in-the-world-of-microservices","status":"publish","type":"post","link":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/","title":{"rendered":"Java In The World Of Microservices"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69ea1c16cebb2\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69ea1c16cebb2\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#Reasons_for_using_Microservice\" >Reasons for using Microservice<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#Benefits_of_Microservices\" >Benefits of Microservices<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#Restrictions_of_Microservices\" >Restrictions of Microservices<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#List_of_Microservices_in_JAVA\" >List of Microservices in JAVA<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#Java_Microservices_Example\" >Java Microservices Example<\/a><\/li><\/ul><\/nav><\/div>\n<p>A\u00a0microservice\u00a0is a small, loosely coupled distributed service. Microservice Architectures evolved as a solution to the scalability and innovation challenges with Monolith architectures (Monolith applications are typically huge \u2013 more 100, 000 line of code). It allows you to take a large application and decompose or break into easily manageable small components with narrowly defined responsibilities.<\/p>\n<p style=\"text-align: center;\"><strong><a href=\"https:\/\/bit.ly\/3ELmCiA\" target=\"_blank\" rel=\"noopener\">Learn Coding in your Language! Enroll Here!<\/a><\/strong><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Reasons_for_using_Microservice\"><\/span><strong>Reasons for using Microservice<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>For a large application, it is difficult to understand the complexity and make code changes fast and correctly, sometimes it becomes hard to manage the code.<\/li>\n<li>Applications need extensive manual testing to ensure the impact of changes.<\/li>\n<li>For small change, the whole application needs to be built and deployed.<\/li>\n<li>The heavy application slows down start-up time.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Benefits_of_Microservices\"><\/span><strong>Benefits of Microservices<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><strong>Small Modules \u2013<\/strong><br \/>\nApplication is broken into smaller modules which are easy for developers to code and maintain.<\/li>\n<li><strong>Easier Process Adaption \u2013<\/strong><br \/>\nBy using microservices, new Technology &amp; Process Adaption becomes easier. You can try new technologies with the newer microservices that we use.<\/li>\n<li><strong>Independent scaling \u2013<\/strong><br \/>\nEach microservice can scale independently via X-axis scaling (cloning with more CPU or memory) and Z-axis scaling (sharding), based upon their needs.<\/li>\n<li><strong>Unaffected \u2013<\/strong><br \/>\nLarge applications remain largely unaffected by the failure of a single module.<\/li>\n<li><strong>DURS \u2013<\/strong><br \/>\nEach service can be independently DURS (deployed, updated, replaced, and scaled).<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Restrictions_of_Microservices\"><\/span><strong>Restrictions of Microservices<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><strong>Configuration Management \u2013<\/strong><br \/>\nAs it becomes granular the headache comes for configuring the services and monitoring those. You need to maintain configurations for hundreds of components across environments.<\/li>\n<li><strong>Debugging \u2013<\/strong><br \/>\nTracking down the service failure is painstaking job. You might need to look into multiple services across different components. Centralized Logging and Dashboards are essential to make it easy to debug problems.<\/li>\n<li><strong>Automation \u2013<\/strong>\u00a0Because there are a number of smaller components instead of a monolith, you need to automate everything \u2013 Builds, Deployment, Monitoring etc.<\/li>\n<li><strong>Testing \u2013<\/strong><br \/>\nNeeds a greater effort for end to end testing as it needs all the dependent services to be up and running.<\/li>\n<\/ul>\n<p style=\"text-align: center;\"><strong><a href=\"https:\/\/bit.ly\/3ELmCiA\" target=\"_blank\" rel=\"noopener\">Learn Coding in your Language! Enroll Here!<\/a><\/strong><\/p>\n<h2><span class=\"ez-toc-section\" id=\"List_of_Microservices_in_JAVA\"><\/span><strong>List of Microservices in JAVA<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>\n<h3><strong style=\"color: #333333; font-size: 15px;\">Spring Boot<\/strong><\/h3>\n<\/li>\n<\/ul>\n<p>A survey indicates Spring Boot to be the\u00a0leading framework\u00a0for building microservices applications within Java and for a good reason, too. In general, Spring Boot is a mature, open-source, and feature-rich framework with a vast community to turn to for support. Spring Boot microservices can be easily deployed on various platforms, be it Dockers or bare metal servers. This popular Java framework comes with in-built functionalities like security autoconfiguration and starter dependencies that allow for rapid application development in Java.<\/p>\n<p>Getting started with Spring Boot is as simple as visiting\u00a0start.spring.io to launch an automated application template in just a few minutes. Not surprisingly, Java framework is exceptionally popular, owing to the convenience and flexibility it offers, and firms that wish to deploy Spring Boot microservices architecture can find experienced staff quite easily. For professionals, various pieces of training and certifications in Spring Boot are available to upgrade their skill set with this easy-to-use microservices framework that can be exploited even by less experienced teams to solve complex business problems. In practice the Spring framework has proved to be the most effective standard for microservice development.<\/p>\n<ul>\n<li><strong style=\"color: #1d1f20; font-size: 1.563em;\">Micronaut\u00a0<\/strong><\/li>\n<\/ul>\n<p>Micronaut is a modern, JVM-based, full-stack microservices framework. It is designed for building easily testable microservice applications and implementing serverless functions. The best part about Micronaut is the quick startup time, which is due to non-reliance on reflection-based IoC frameworks, a considerable departure from Spring Boot. Another great feature of Micronaut is the exceptional built-in support for cloud, which makes it a breeze to work on AWS or write serverless applications.<\/p>\n<p>It is a fact that Micronaut was developed based on lessons learned through the real-world applications of Spring and Spring Boot over the years.\u00a0As a result, many of the APIs within the framework are inspired by Spring which makes it easier for new developers to find their feet. Micronaut framework also overcomes several of the shortcomings intrinsic to frameworks like Spring and Spring Boot, through upsides like:<\/p>\n<ul>\n<li>Reduced memory footprint<\/li>\n<li>Faster startup time<\/li>\n<li>Easy unit testing<\/li>\n<li>Less usage of proxies and reflections<\/li>\n<li>\n<h3><strong>Ballerina<\/strong><\/h3>\n<\/li>\n<\/ul>\n<p>Ballerina is not a microservices framework. Instead, it is a distributed programming language which can be used to write distributed applications. This enables developers to build customised network applications from scratch by writing software using the open-source programming language.<\/p>\n<p>Overall, Ballerina is a cloud-native programming language that simplifies the microservices framework further by overcoming the challenge of distributed tracing and observability. With built-in support, it is possible to enable tracking and monitoring without any additional lines of code.<\/p>\n<p>As Ballerina is mainly designed for cloud computing, it also includes annotations for Docker and Kubernetes, making it possible to deploy into those environments with minimal coding. Ballerina also makes the developer aware of any potential security threats, network failures and communications while writing the program itself for seamless deployment at later stages.<\/p>\n<ul>\n<li>\n<h3><strong>Dropwizard\u00a0<\/strong><\/h3>\n<\/li>\n<\/ul>\n<p>Dropwizard\u00a0is an open-source framework, which is popularly known for the rapid development of RESTful web services. Dropwizard is also considered quite easy to use and works well for microservices application development. It integrates tried and tested Java libraries into a functional platform while offering templates with Java-based interfaces like FreeMarker and Mustache.\u00a0Similar to Spring Boot, Dropwizard applications are packaged into fat JAR files with the Jetty application server embedded.<\/p>\n<p style=\"text-align: center;\"><strong><a href=\"https:\/\/bit.ly\/3ELmCiA\" target=\"_blank\" rel=\"noopener\">Learn to code from industry experts! Enroll here<\/a><\/strong><\/p>\n<p>According to some experts, Dropwizard lacks a little bit in terms of flexibility when compared with other frameworks like Spring Boot. However, it scores in terms of reliability by integrating a well-tested combination of tools that are pre-wired to get your project off the ground quickly. Even though Dropwizard has no built-in dependency injection solution, it does have integrations for Guice and Dagger. Overall, Dropwizard flaunts superior performance and operations amicability for microservices application advancement.<\/p>\n<ul>\n<li>\n<h3><strong>Eclipse MicroProfile\u00a0<\/strong><\/h3>\n<\/li>\n<\/ul>\n<p>The Eclipse MicroProfile project is an upgrade to Java EE, aimed at optimising Enterprise Java for building Microservices architecture and cloud-native applications. The system is based on a subset of Jakarta EE WebProfile APIs, which means the process of building MicroProfile applications remains essentially the same.<\/p>\n<p>MicroProfile is getting popular not only for the familiarity of usage but also for attempting a standardized API for microservices in Java by bringing together a bunch of vendors and organisations. The critical APIs in MicroProfile include CDI, JAX-RS, JSON-P, Metrics and Config.<\/p>\n<p>The idea of microservices is simple yet powerful, and is fast gaining popularity to improve the end-user experience by breaking down monolithic applications into smaller bits that are lighter, faster, and programmed to run independently or cohesively, as required. Not surprisingly, several experts list\u00a0microservices as an advanced skill\u00a0that Java Developers must possess in 2020.<\/p>\n<ul>\n<li>\n<h3><strong>Spark<\/strong><\/h3>\n<\/li>\n<\/ul>\n<p>Spark is one of the best Java microservices frameworks for creating web apps in Java 8 and Kotlin. This micro web framework allows developers to start rapidly and with minimal effort. It was inspired by Sinatra, a famous Ruby micro-framework.<\/p>\n<p style=\"text-align: center;\"><strong><a href=\"https:\/\/bit.ly\/3ELmCiA\" target=\"_blank\" rel=\"noopener\">Learn Coding in your Language! Enroll Here!<\/a><\/strong><\/p>\n<ul>\n<li>\n<h3><strong>Jersey<\/strong><\/h3>\n<\/li>\n<\/ul>\n<p>Jersey framework is an open-source framework for developing RESTful web services in Java. It makes it easy for the developers to build RESTful web services using Java and JVM. It offers support for JAX-RS APIs and serves as a JAX-RS Reference Implementation that simplifies the development of RESTful services.<\/p>\n<ul>\n<li>\n<h3><strong>Swagger<\/strong><\/h3>\n<\/li>\n<\/ul>\n<p>Swagger helps developers in documenting APIs. It is an Interface Description Language for describing RESTful APIs expressed using JSON. It is a set of open-source software tools that allow developers to easily build, design, document, and use RESTful web services.<\/p>\n<p>It is widely used by a large number of companies to deliver great APIs and streamline API development.<\/p>\n<ul>\n<li>\n<h3><strong>Restlet<\/strong><\/h3>\n<\/li>\n<\/ul>\n<p>Restlet framework helps Java developers create better Java APIs with REST architecture style. It is an open-source framework and is widely used by developers for creating secure and scalable web APIs. It offers powerful routing and filtering capabilities, numerous extensions, and a unified client and server Java API. It is available for all major platforms.<\/p>\n<p>As microservice is a common and widely-adopted software design pattern, it is being considered one of the top skills of software developers regardless of the technologies or frameworks they are working<\/p>\n<p style=\"text-align: center;\"><strong><a href=\"https:\/\/bit.ly\/3ELmCiA\" target=\"_blank\" rel=\"noopener\">Learn to code from industry experts! Enroll here<\/a><\/strong><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Java_Microservices_Example\"><\/span><strong>Java Microservices Example<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This is an example of a Java microservice with REST API. You can create as many services as you want with REST endpoints as per your requirements and architecture.<\/p>\n<p>import org.springframework.boot.*;<br \/>\nimport org.springframework.boot.autoconfigure.*;<br \/>\nimport org.springframework.stereotype.*;<br \/>\nimport org.springframework.web.bind.annotation.*;<br \/>\n@RestController<br \/>\n@EnableAutoConfiguration<br \/>\npublic class HelloWorld {<br \/>\n@RequestMapping(&#8220;\/&#8221;)<br \/>\nString example() {<br \/>\nreturn &#8220;Welcome to SPEC INDIA!&#8221;;<br \/>\n}<br \/>\npublic static void main(String[] args) throws Exception {<br \/>\nSpringApplication.run(HelloWorld.class, args);<br \/>\n}<br \/>\n}<\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><strong>Welcome to SPEC INDIA!<\/strong><\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/bit.ly\/3ELmCiA\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-25494071 size-full\" src=\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2021\/10\/Web-Development-Rectangle.png\" alt=\"\" width=\"970\" height=\"250\" srcset=\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2021\/10\/Web-Development-Rectangle.png 970w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2021\/10\/Web-Development-Rectangle-300x77.png 300w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2021\/10\/Web-Development-Rectangle-768x198.png 768w, https:\/\/entri.app\/blog\/wp-content\/uploads\/2021\/10\/Web-Development-Rectangle-750x193.png 750w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><\/a><\/p>\n<p><strong>Why is it important to choose Entri?<\/strong><\/p>\n<ul>\n<li>Excellent online platform for all the Competitive Exams.<\/li>\n<li>Provides updated materials created by the Entri Experts.<\/li>\n<li>Entri provides a best platform with full- length mock tests including previous year question papers.<\/li>\n<li>You can download the app for free and join the required classes.<\/li>\n<li>Entri wishes you all the best for your examinations and future endeavours.<\/li>\n<\/ul>\n<p><strong>\u201cYOU DON\u2019T HAVE TO BE GREAT TO START, BUT YOU HAVE TO START TO BE GREAT.\u201d<\/strong><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A\u00a0microservice\u00a0is a small, loosely coupled distributed service. Microservice Architectures evolved as a solution to the scalability and innovation challenges with Monolith architectures (Monolith applications are typically huge \u2013 more 100, 000 line of code). It allows you to take a large application and decompose or break into easily manageable small components with narrowly defined responsibilities. [&hellip;]<\/p>\n","protected":false},"author":55,"featured_media":25524403,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[802,1882],"tags":[],"class_list":["post-25524401","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","category-java-programming"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java In The World Of Microservices - Entri Blog<\/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:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java In The World Of Microservices - Entri Blog\" \/>\n<meta property=\"og:description\" content=\"A\u00a0microservice\u00a0is a small, loosely coupled distributed service. Microservice Architectures evolved as a solution to the scalability and innovation challenges with Monolith architectures (Monolith applications are typically huge \u2013 more 100, 000 line of code). It allows you to take a large application and decompose or break into easily manageable small components with narrowly defined responsibilities. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/\" \/>\n<meta property=\"og:site_name\" content=\"Entri Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/entri.me\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-16T10:31:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-20T02:43:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/05\/Java-In-The-World-Of-Microservices.png\" \/>\n\t<meta property=\"og:image:width\" content=\"820\" \/>\n\t<meta property=\"og:image:height\" content=\"615\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ayesha Surayya\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@entri_app\" \/>\n<meta name=\"twitter:site\" content=\"@entri_app\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ayesha Surayya\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/\"},\"author\":{\"name\":\"Ayesha Surayya\",\"@id\":\"https:\/\/entri.app\/blog\/#\/schema\/person\/568cc9d6e77fd5d01033b61c88343097\"},\"headline\":\"Java In The World Of Microservices\",\"datePublished\":\"2022-05-16T10:31:12+00:00\",\"dateModified\":\"2022-11-20T02:43:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/\"},\"wordCount\":1532,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/entri.app\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/05\/Java-In-The-World-Of-Microservices.png\",\"articleSection\":[\"Articles\",\"Java Programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/\",\"url\":\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/\",\"name\":\"Java In The World Of Microservices - Entri Blog\",\"isPartOf\":{\"@id\":\"https:\/\/entri.app\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/05\/Java-In-The-World-Of-Microservices.png\",\"datePublished\":\"2022-05-16T10:31:12+00:00\",\"dateModified\":\"2022-11-20T02:43:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#primaryimage\",\"url\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/05\/Java-In-The-World-Of-Microservices.png\",\"contentUrl\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/05\/Java-In-The-World-Of-Microservices.png\",\"width\":820,\"height\":615,\"caption\":\"Java In The World Of Microservices\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/entri.app\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Entri Skilling\",\"item\":\"https:\/\/entri.app\/blog\/category\/entri-skilling\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Java Programming\",\"item\":\"https:\/\/entri.app\/blog\/category\/entri-skilling\/java-programming\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Java In The World Of Microservices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/entri.app\/blog\/#website\",\"url\":\"https:\/\/entri.app\/blog\/\",\"name\":\"Entri Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/entri.app\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/entri.app\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/entri.app\/blog\/#organization\",\"name\":\"Entri App\",\"url\":\"https:\/\/entri.app\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/entri.app\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2019\/10\/Entri-Logo-1.png\",\"contentUrl\":\"https:\/\/entri.app\/blog\/wp-content\/uploads\/2019\/10\/Entri-Logo-1.png\",\"width\":989,\"height\":446,\"caption\":\"Entri App\"},\"image\":{\"@id\":\"https:\/\/entri.app\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/entri.me\/\",\"https:\/\/x.com\/entri_app\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/entri.app\/blog\/#\/schema\/person\/568cc9d6e77fd5d01033b61c88343097\",\"name\":\"Ayesha Surayya\",\"url\":\"https:\/\/entri.app\/blog\/author\/ayesha-surayya\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java In The World Of Microservices - Entri Blog","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:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/","og_locale":"en_US","og_type":"article","og_title":"Java In The World Of Microservices - Entri Blog","og_description":"A\u00a0microservice\u00a0is a small, loosely coupled distributed service. Microservice Architectures evolved as a solution to the scalability and innovation challenges with Monolith architectures (Monolith applications are typically huge \u2013 more 100, 000 line of code). It allows you to take a large application and decompose or break into easily manageable small components with narrowly defined responsibilities. [&hellip;]","og_url":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/","og_site_name":"Entri Blog","article_publisher":"https:\/\/www.facebook.com\/entri.me\/","article_published_time":"2022-05-16T10:31:12+00:00","article_modified_time":"2022-11-20T02:43:55+00:00","og_image":[{"width":820,"height":615,"url":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/05\/Java-In-The-World-Of-Microservices.png","type":"image\/png"}],"author":"Ayesha Surayya","twitter_card":"summary_large_image","twitter_creator":"@entri_app","twitter_site":"@entri_app","twitter_misc":{"Written by":"Ayesha Surayya","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#article","isPartOf":{"@id":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/"},"author":{"name":"Ayesha Surayya","@id":"https:\/\/entri.app\/blog\/#\/schema\/person\/568cc9d6e77fd5d01033b61c88343097"},"headline":"Java In The World Of Microservices","datePublished":"2022-05-16T10:31:12+00:00","dateModified":"2022-11-20T02:43:55+00:00","mainEntityOfPage":{"@id":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/"},"wordCount":1532,"commentCount":0,"publisher":{"@id":"https:\/\/entri.app\/blog\/#organization"},"image":{"@id":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/05\/Java-In-The-World-Of-Microservices.png","articleSection":["Articles","Java Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/","url":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/","name":"Java In The World Of Microservices - Entri Blog","isPartOf":{"@id":"https:\/\/entri.app\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#primaryimage"},"image":{"@id":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#primaryimage"},"thumbnailUrl":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/05\/Java-In-The-World-Of-Microservices.png","datePublished":"2022-05-16T10:31:12+00:00","dateModified":"2022-11-20T02:43:55+00:00","breadcrumb":{"@id":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#primaryimage","url":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/05\/Java-In-The-World-Of-Microservices.png","contentUrl":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2022\/05\/Java-In-The-World-Of-Microservices.png","width":820,"height":615,"caption":"Java In The World Of Microservices"},{"@type":"BreadcrumbList","@id":"https:\/\/entri.app\/blog\/java-in-the-world-of-microservices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/entri.app\/blog\/"},{"@type":"ListItem","position":2,"name":"Entri Skilling","item":"https:\/\/entri.app\/blog\/category\/entri-skilling\/"},{"@type":"ListItem","position":3,"name":"Java Programming","item":"https:\/\/entri.app\/blog\/category\/entri-skilling\/java-programming\/"},{"@type":"ListItem","position":4,"name":"Java In The World Of Microservices"}]},{"@type":"WebSite","@id":"https:\/\/entri.app\/blog\/#website","url":"https:\/\/entri.app\/blog\/","name":"Entri Blog","description":"","publisher":{"@id":"https:\/\/entri.app\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/entri.app\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/entri.app\/blog\/#organization","name":"Entri App","url":"https:\/\/entri.app\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/entri.app\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2019\/10\/Entri-Logo-1.png","contentUrl":"https:\/\/entri.app\/blog\/wp-content\/uploads\/2019\/10\/Entri-Logo-1.png","width":989,"height":446,"caption":"Entri App"},"image":{"@id":"https:\/\/entri.app\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/entri.me\/","https:\/\/x.com\/entri_app"]},{"@type":"Person","@id":"https:\/\/entri.app\/blog\/#\/schema\/person\/568cc9d6e77fd5d01033b61c88343097","name":"Ayesha Surayya","url":"https:\/\/entri.app\/blog\/author\/ayesha-surayya\/"}]}},"_links":{"self":[{"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/posts\/25524401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/comments?post=25524401"}],"version-history":[{"count":4,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/posts\/25524401\/revisions"}],"predecessor-version":[{"id":25547527,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/posts\/25524401\/revisions\/25547527"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/media\/25524403"}],"wp:attachment":[{"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/media?parent=25524401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/categories?post=25524401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/entri.app\/blog\/wp-json\/wp\/v2\/tags?post=25524401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}