All Projects → piomin → Sample Spring Microservices Advanced

piomin / Sample Spring Microservices Advanced

More advanced samples of spring boot and spring cloud microservices showing usage of such tools like api Swagger2 on Zuul, integraction with MongoDB, configuration server, testing with Spring Cloud Contract or Hoverfly

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Sample Spring Microservices Advanced

Java Spring Cloud
Distributed tracing for Spring Boot, Cloud and other Spring projects
Stars: ✭ 326 (+191.07%)
Mutual labels:  microservices, mongodb, spring-boot, spring-cloud, zuul
Spring Cloud Gateway
A Gateway built on Spring Framework 5.x and Spring Boot 2.x providing routing and more.
Stars: ✭ 3,305 (+2850.89%)
Mutual labels:  microservices, api-gateway, spring-boot, spring-cloud
My Moments
Instagram Clone - Cloning Instagram for learning purpose
Stars: ✭ 140 (+25%)
Mutual labels:  microservices, mongodb, spring-boot, spring-cloud
Springy Store Microservices
Springy Store is a conceptual simple μServices-based project using the latest cutting-edge technologies, to demonstrate how the Store services are created to be a cloud-native and 12-factor app agnostic. Those μServices are developed based on Spring Boot & Cloud framework that implements cloud-native intuitive, design patterns, and best practices.
Stars: ✭ 318 (+183.93%)
Mutual labels:  microservices, mongodb, spring-boot, spring-cloud
Microservices Platform
基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务多租户系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等。
Stars: ✭ 3,274 (+2823.21%)
Mutual labels:  microservices, spring-boot, spring-cloud, zuul
Sample Zuul Filters
Samples of custom Zuul 1 filters for use in Spring Cloud Netflix
Stars: ✭ 201 (+79.46%)
Mutual labels:  api-gateway, spring-boot, spring-cloud, zuul
Sample Spring Microservices Kubernetes
sample spring boot application that uses some features provided by spring cloud kubernetes, spring cloud ribbon and zuul proxy deployed on Kubernetes
Stars: ✭ 123 (+9.82%)
Mutual labels:  swagger2, spring-boot, spring-cloud, zuul
Bookstoreapp Distributed Application
Ecommerce project is being developed using Spring Boot Microservices and Spring Cloud (Backend) and React (Frontend). Splitting the Ecommerce functionality into various individual microservices so that they can be distributed, scale really well and make use of resources efficiently.
Stars: ✭ 63 (-43.75%)
Mutual labels:  microservices, spring-boot, spring-cloud, zuul
Spring Cloud Security
Security concerns for distributed applications implemented in Spring
Stars: ✭ 488 (+335.71%)
Mutual labels:  microservices, spring-boot, spring-cloud, zuul
Shop
spring cloud最佳实践项目实例,使用了spring cloud全家桶,TCC事务管理,EDA事务最终一致性等技术的下单示例
Stars: ✭ 418 (+273.21%)
Mutual labels:  api-gateway, spring-boot, spring-cloud, zuul
Sample Spring Microservices
Many samples in different branches that shows how to create microservices with Spring Boot, Spring Cloud, Zipkin, Zuul, Eureka, Hystrix, Kubernetes, Elastic Stack and many more tools
Stars: ✭ 368 (+228.57%)
Mutual labels:  microservices, spring-boot, spring-cloud, zuul
Simplemall
基于SpringCloud的微服务架构实战案例项目,以一个简单的购物流程为示例,融合spring cloud 相关组件,如spring-cloud-netflix、swagger等
Stars: ✭ 687 (+513.39%)
Mutual labels:  swagger2, spring-boot, spring-cloud, zuul
Sample Spring Microservices New
Demo for Spring Boot 2 and Spring Cloud microservices with distributed configuration (Spring Cloud Config), service discovery (Eureka), API gateway (Spring Cloud Gateway, Zuul), Swagger2 API documentation, logs correlation using Spring Cloud Sleuth and many more
Stars: ✭ 559 (+399.11%)
Mutual labels:  microservices, swagger2, spring-cloud, zuul
Mini Platform
Mini-Platform致力于更简洁易用的轻量级微服务治理平台。
Stars: ✭ 45 (-59.82%)
Mutual labels:  microservices, spring-boot, spring-cloud, zuul
Spring Petclinic Microservices
Distributed version of Spring Petclinic built with Spring Cloud
Stars: ✭ 814 (+626.79%)
Mutual labels:  microservices, spring-cloud, zuul
Spring Boot Jwt
JWT auth service using Spring Boot, Spring Security and MySQL
Stars: ✭ 795 (+609.82%)
Mutual labels:  microservices, swagger2, spring-boot
Spring Cloud Examples
Examples of microservice instrastructures
Stars: ✭ 11 (-90.18%)
Mutual labels:  spring-boot, spring-cloud, zuul
Spring Cloud Learning
☁️适合刚接触微服务架构的初学者了解和学习微服务,主要集成了注册中心、服务网关、配置中心、熔断机制、应用监控。
Stars: ✭ 37 (-66.96%)
Mutual labels:  spring-boot, spring-cloud, zuul
Springcloud Learning
Spring Cloud基础教程,持续连载更新中
Stars: ✭ 6,839 (+6006.25%)
Mutual labels:  spring-boot, spring-cloud, zuul
Spring Cloud Book
《使用Spring Cloud与Docker实战微服务》开源书。讨论QQ群:731548893。配套代码:https://github.com/eacdy/spring-cloud-study
Stars: ✭ 886 (+691.07%)
Mutual labels:  microservices, spring-boot, spring-cloud

Microservices with Spring Cloud Advanced Demo Project Twitter

In this project I'm demonstrating you the most interesting features of Spring Cloud Project for building microservice-based architecture to discuss some additional aspects like API documentation, configuration, testing or storing data.

Getting Started

Currently you may find here some examples of microservices implementation using different projects from Spring Cloud. All the examples are divided into the branches and described in a separated articles on my blog. Here's a full list of available examples:

  1. Using Swagger2 for building API documentation and exposing it for all the microservices on API gateway, which is in that case Netlix Zuul. The example is available in the branch master. Detailed description can be found here: Microservices API Documentation with Swagger2
  2. Using Spring Cloud Contract for consumer-driven contract testing in microservices architecture and embedded Mongo simulating database in component testing. The example is available in the branch testing. A detailed description can be found here: Testing Java Microservices.
  3. Using Hoverfly library for testing APIs and for simulating communication between microservices in component testing. The tests with Hoverfly will include examples with static configuration through IP address and dynamic with Eureka discovery. The example is available in the branch hoverfly. A detailed description can be found here: Testing REST API with Hoverfly.
  4. Using Spring Cloud Config on the client and server side for providing distributed configuration across microservices. These example will discuss some more advanced features. A detailed description can be found here: Microservices Configuration With Spring Cloud Config.

Usage

In the most cases you need to have Maven and JDK8+. The best way to run the sample applications is with IDEs like IntelliJ IDEA or Eclipse. For the some of examples you need to run MongoDB on Docker container, so you also need to have Docker installed on your local machine.

Architecture

Our sample microservices-based system consists of the following modules:

  • gateway-service - a module that Spring Cloud Netflix Zuul for running Spring Boot application that acts as a proxy/gateway in our architecture.
  • config-service - a module that uses Spring Cloud Config Server for running configuration server.
  • discovery-service - a module that depending on the example it uses Spring Cloud Netflix Eureka.
  • account-service - a module containing the first of our sample microservices that allows to perform CRUD operations on MongoDB repository of customer's accounts
  • customer-service - a module containing the second of our sample microservices that allows to perform CRUD operations on MongoDB repository of customers. It communicates with account-service and product-service.
  • product-service - a module containing the third of our sample microservices that allows to perform CRUD operations on MongoDB repository of products.
  • transfer-service - a module containing the fourth of our sample microservices that allows to perform CRUD operations on MongoDB repository making cash transfers between customer accounts. It communicates with both account-service.

The following picture illustrates an approach to a contract and component testing in our sample architecture described above.


The whole sample architecture is visible on the picture below. Each microservice has its own database as shown on the following picture. For simplification in my articles I'm using a single database run on Docker container and multiple collections.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].