{"id":15013835,"url":"https://github.com/piomin/sample-quarkus-microservices-consul","last_synced_at":"2025-08-21T01:32:23.247Z","repository":{"id":55472275,"uuid":"315586572","full_name":"piomin/sample-quarkus-microservices-consul","owner":"piomin","description":"Demo applications illustrating how to build microservices and run them outside Kubernetes with Quarkus. It shows how to integrate the Quarkus application with Consul discovery and the KV store.","archived":false,"fork":false,"pushed_at":"2025-08-09T00:33:11.000Z","size":210,"stargazers_count":35,"open_issues_count":1,"forks_count":20,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-09T02:34:05.271Z","etag":null,"topics":["consul","consul-kv-store","distributed-configuration","java","load-balancing","microservices","quarkus","quarkus-rest","quarkus-stork","rest-api","rest-client","service-discovery","smallrye-stork"],"latest_commit_sha":null,"homepage":"https://piotrminkowski.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/piomin.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-11-24T09:48:07.000Z","updated_at":"2025-08-09T00:33:14.000Z","dependencies_parsed_at":"2023-11-27T08:28:27.488Z","dependency_job_id":"79347bd0-f9a4-452b-9f3b-c653e3a15463","html_url":"https://github.com/piomin/sample-quarkus-microservices-consul","commit_stats":{"total_commits":141,"total_committers":2,"mean_commits":70.5,"dds":"0.17730496453900713","last_synced_commit":"e3206fb5e111a10cbbd52160c41ea2db42f817ee"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/piomin/sample-quarkus-microservices-consul","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piomin%2Fsample-quarkus-microservices-consul","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piomin%2Fsample-quarkus-microservices-consul/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piomin%2Fsample-quarkus-microservices-consul/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piomin%2Fsample-quarkus-microservices-consul/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/piomin","download_url":"https://codeload.github.com/piomin/sample-quarkus-microservices-consul/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piomin%2Fsample-quarkus-microservices-consul/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271415042,"owners_count":24755628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["consul","consul-kv-store","distributed-configuration","java","load-balancing","microservices","quarkus","quarkus-rest","quarkus-stork","rest-api","rest-client","service-discovery","smallrye-stork"],"created_at":"2024-09-24T19:44:50.364Z","updated_at":"2025-08-21T01:32:22.892Z","avatar_url":"https://github.com/piomin.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quarkus Microservices with Consul Discovery Demo Project [![Twitter](https://img.shields.io/twitter/follow/piotr_minkowski.svg?style=social\u0026logo=twitter\u0026label=Follow%20Me)](https://twitter.com/piotr_minkowski)\n\nIn this project I'm demonstrating you the most interesting features of [Quarkus Project](https://quarkus.io/) for building microservice-based architecture.\n\n\n## Getting Started \nCurrently, you may find here some examples of microservices implementation using different projects from Quarkus. Here's a full list of available examples in this repository:\n1. Using Quarkus for building microservices that may be easily deployed outside Kubernetes. Integrating Quarkus with Consul discovery and KV store. The example is available in the branch [master](https://github.com/piomin/sample-quarkus-microservices-consul/tree/master). A detailed guide may be found in the following article: Detailed description can be found here: [Quarkus Microservices with Consul Discovery](https://piotrminkowski.com/2020/11/24/quarkus-microservices-with-consul-discovery/)\n2. [Latest] Quarkus with SmallRye Stork and Mutiny Consul Client. The example is available in the branch [Consul with Quarkus and SmallRye Stork](https://github.com/piomin/sample-quarkus-microservices-consul/tree/master). \n\n## Usage\n1. Maven 3.6.3+\n2. JDK 21+\n3. Run Consul with Docker:\n```shell\ndocker run -d --name=consul -e CONSUL_BIND_INTERFACE=eth0 -p 8500:8500 consul\n```\n4. Run applications:\n```shell\nmvn compile quarkus:dev\n```\n\n## Architecture\nOur sample microservices-based system consists of the following modules:\n- **gateway-service** - a module that uses Spring Cloud Gateway for running Spring Boot application that acts as a proxy/gateway in our architecture.\n- **employee-service** - a module containing the first of our sample microservices that allows to perform CRUD operation on in-memory repository of employees\n- **department-service** - a module containing the second of our sample microservices that allows to perform CRUD operation on in-memory repository of departments. It communicates with employee-service. \n- **organization-service** - a module containing the third of our sample microservices that allows to perform CRUD operation on in-memory repository of organizations. It communicates with both employee-service and department-service.\n\nThe following picture illustrates the architecture described above.\n\n\u003cimg src=\"https://i1.wp.com/piotrminkowski.com/wp-content/uploads/2020/11/quarkus-consul-arch.png?w=782\u0026ssl=1\" title=\"Architecture\"\u003e\u003cbr/\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiomin%2Fsample-quarkus-microservices-consul","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiomin%2Fsample-quarkus-microservices-consul","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiomin%2Fsample-quarkus-microservices-consul/lists"}