All Projects → sergeikh → Cloud Enabled Microservice

sergeikh / Cloud Enabled Microservice

Tasks microservice (Spring Boot, MVC, Data, Lombok, Cloud, OAuth2, Config, Eureka, Zuul, Hystrix, Docker)

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Cloud Enabled Microservice

Spring Boot Demo
spring boot demo 是一个Spring Boot、Spring Cloud的项目示例,根据市场主流的后端技术,共集成了30+个demo,未来将持续更新。该项目包含helloworld(快速入门)、web(ssh项目快速搭建)、aop(切面编程)、data-redis(redis缓存)、quartz(集群任务实现)、shiro(权限管理)、oauth2(四种认证模式)、shign(接口参数防篡改重放)、encoder(用户密码设计)、actuator(服务监控)、cloud-config(配置中心)、cloud-gateway(服务网关)等模块
Stars: ✭ 323 (+2207.14%)
Mutual labels:  spring-boot, spring-cloud, spring-mvc, oauth2
Spring Cloud Flycloud
🔥🔥🔥FlyClould 微服务实战项目框架,在该框架中,包括了用 Spring Cloud 构建微服务的一系列基本组件和框架,对于后台服务框架的搭建有很大的参考价值,大家可以参考甚至稍加修改可以直接应用于自己的实际的项目开发中,该项目没有采用Maven进行项目构建,Maven通过xml进行依赖管理,导致整个配置文件太过臃肿,另外灵活性也不是很强,所以我采用Gradle进行项目构建和依赖管理,在FlyTour项目中我们见证了Gradle的强大,通过简单的一些配置就可以轻松的实现组件化的功能。该项目共有11个Module工程。其中10个位微服务工程,这10个微服务工程构成了一个完整的微服务系统,微服务系统包含了8个基础服务,提供了一整套微服务治理功能,他们分别是配置中心module_c…
Stars: ✭ 1,514 (+10714.29%)
Mutual labels:  spring-data-jpa, spring-boot, spring-cloud, spring-mvc
Javadevjournal
Source code for the tutorials published on the Javadevjournal site.
Stars: ✭ 141 (+907.14%)
Mutual labels:  spring-data-jpa, spring-boot, spring-cloud, spring-mvc
Spring Boot Enterprise Application Development
Spring Boot Enterprise Application Development.《Spring Boot 企业级应用开发实战》
Stars: ✭ 261 (+1764.29%)
Mutual labels:  spring-data-jpa, spring-boot, spring-mvc
Spring
Personal notes of preparation to Spring 5 Professional Certification
Stars: ✭ 35 (+150%)
Mutual labels:  spring-cloud, spring-mvc, spring-data-jpa
Spring Boot Demo
Spring Boot & Spring Cloud & Spring Security Demo Case(Spring学习示例实战项目)
Stars: ✭ 255 (+1721.43%)
Mutual labels:  spring-boot, spring-cloud, spring-mvc
Cola Cloud
Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台,集成OAuth2认证、集成短信验证码登录、微信小程序登录、FlyWay数据库版本管理、网关集成Swagger聚合所有服务API文档。基于SpringBootAdmin集成Hystrix、Turbine监控。开发用户中心、权限管理、组织架构、数据字典、消息中心、通知中心等模块。基于MyBatisPlus Generator 开发代码生成器
Stars: ✭ 285 (+1935.71%)
Mutual labels:  spring-boot, spring-cloud, oauth2
Angularjs Springmvc Sample
A RESTful sample using AnguarJS/Bootstrap as frontend and Spring MVC as REST API producer
Stars: ✭ 292 (+1985.71%)
Mutual labels:  spring-data-jpa, spring-boot, spring-mvc
Angularjs Springmvc Sample Boot
A RESTful sample using Spring Boot, Spring MVC, Spring Data and Angular/Bootstrap.
Stars: ✭ 309 (+2107.14%)
Mutual labels:  spring-data-jpa, spring-boot, spring-mvc
Taroco
整合Nacos、Spring Cloud Alibaba,提供了一系列starter组件, 同时提供服务治理、服务监控、OAuth2权限认证,支持服务降级/熔断、服务权重,前端采用vue+elementUI+webpack,可以很好的解决转向Spring Cloud的一系列问题。
Stars: ✭ 545 (+3792.86%)
Mutual labels:  spring-boot, spring-cloud, oauth2
Spring Cloud Security
Security concerns for distributed applications implemented in Spring
Stars: ✭ 488 (+3385.71%)
Mutual labels:  spring-boot, spring-cloud, oauth2
Springboot Starterkit
Starter Kit for Spring Boot based (REST APIs and WebMVC) micro services.
Stars: ✭ 596 (+4157.14%)
Mutual labels:  spring-data-jpa, spring-boot, spring-mvc
Springboot Learning
《Spring Boot基础教程》,2.x版本持续连载中!点击下方链接直达教程目录!
Stars: ✭ 13,916 (+99300%)
Mutual labels:  spring-data-jpa, spring-boot, spring-cloud
Sso
cas单点登录系统,其中包括cas认证服务,配置中心,监控平台,服务管理的高可用项目
Stars: ✭ 797 (+5592.86%)
Mutual labels:  spring-boot, spring-cloud, oauth2
Spring Boot Blog
Simple blog web app made using Spring Boot + Thymeleaf
Stars: ✭ 121 (+764.29%)
Mutual labels:  spring-data-jpa, spring-boot, spring-mvc
Cli Spring Boot Scaffold
command line for generate crud and configs for spring boot projects
Stars: ✭ 113 (+707.14%)
Mutual labels:  spring-data-jpa, spring-boot, spring-mvc
Spring Boot Shopping Cart
Simple shopping cart web app made using Spring Boot + Thymeleaf
Stars: ✭ 85 (+507.14%)
Mutual labels:  spring-data-jpa, spring-boot, spring-mvc
Spring Boot Examples
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
Stars: ✭ 26,812 (+191414.29%)
Mutual labels:  spring-data-jpa, spring-boot, spring-cloud
Youlai Mall
youlai-mall 是基于Spring Boot 2.4、Spring Cloud 2020 & Alibaba、Vue、element-ui、uni-app快速构建的一套全栈开源商城平台,包括系统权限管理、微服务应用、微信小程序及APP应用
Stars: ✭ 331 (+2264.29%)
Mutual labels:  spring-boot, spring-cloud, oauth2
Apollo
Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.
Stars: ✭ 26,052 (+185985.71%)
Mutual labels:  spring-boot, spring-cloud, spring-mvc

Tasks microservice (Spring Boot, MVC, Data, Lombok, Cloud, OAuth2, Config, Eureka, Zuul, Hystrix, Docker) Build Status

Resource is a Task

Some core use cases for a Task Service are

Use cases

  1. As a API consumer, I want to create a task.
  2. As a API consumer, I want to assign a task to a user.
  3. As a API consumer, I want to complete a task.
  4. As a API consumer, I want to fetch all tasks assigned to me.

API

  1. Get all tasks GET /v1/tasks
  2. Create task POST /v1/tasks (with prod profile, requires JWT token for Tenant id (tasks-client))
  3. Assign a task to a user POST /v1/tasks/{taskId}/assign/{userId}
  4. Complete a task POST /v1/tasks/complete/{taskId}
  5. Fetch all tasks assigned to me GET /v1/tasks/assigned/{userId}
  6. Fetch all tasks completed by user GET /v1/tasks/assigned/{userId}/complete
  7. Update Task name, description. PUT /v1/tasks/{taskId}
  8. Delete Task DELETE /v1/tasks/{taskId}

Tech stack

  • Spring Boot
  • Spring MVC
  • Spring Data JPA
  • Lombok

Cloud

  • Spring Cloud

  • Spring Cloud Config 'config-service'

  • Spring Cloud Eureka

  • Spring Cloud OAuth2

  • Spring Cloud Zuul

  • Spring Cloud Hystrix

  • Added integration test for repository, service, boundary: mvn integration-test

  • Exception handling with RestExceptionHandler

  • Flayway for schema migration

  • Swagger for API documentation localhost:8080/swagger-ui.html

  • Added versioning localhost:8080/v1/tasks

  • Added pagination and sorting for get all tasks

  • Added Default (development) profile, Staging and Production (prod) with MySQL support and DB migration

  • Actuator for service monitoring: http://localhost:8080/health, http://localhost:8080/metrics

  • Added Docker support with Spotify maven plugin

    mvn clean package docker:build

What can be added:

  • HikariCP for Tomcat default Connection pool replacement
  • Querydsl for advanced query filtering

Classical microservices deployment with HAProxy

Build HAProxy cd tasks-service/docker/haproxy

docker build -t ha-proxy .

Create Docker network

docker network create lb

Run tasks-service1

docker run --net lb --rm --name tasks-service1 tasks-service

Build tasks-service 'cd ../..'

mvn clean package docker:build

Run tasks-service1

docker run --net lb --name tasks-service1 tasks-service

Run tasks-service2

docker run --net lb --name tasks-service2 tasks-service

Run HAProxy

docker run --net lb --name ha-proxy -p 8080:8080 -p 8989:8989 ha-proxy

Get stats for HAProxy

http://localhost:8989/stats

Get all tasks

http://localhost:8080/v1/tasks

Kill some service

docker kill tasks-service2

Check HAProxy panel for one service down

http://localhost:8989/stats

Cloud enabled deployment

Build services

mvn clean package docker:build

Run compose

`cd tasks-service/docker/cloud-enabled`

`docker-compose up`
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].