GithubHelp home page GithubHelp logo

aballaci / springboot-jpa-sakila Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 8.0 1.61 MB

An implementation of the Springboot JPA and Spring Rest Data - Hateos Rest Service - Spring Cloud Docker - Kubernetes Example

License: MIT License

Dockerfile 0.02% TSQL 98.61% PLpgSQL 0.63% Java 0.25% Smarty 0.49% Shell 0.01%
spring-boot kubernetes spring-cloud rest-api hateoas java11-maven micrometer actuator postgresql-database skaffold

springboot-jpa-sakila's Introduction

Spring Boot JPA

A Spring Cloud On Kubernetes Example

Features

  • micrometer (for gathering metrics)
  • actuator
  • Prometheus
  • Grafana
  • Postgresql Sakila DB

Built With

Getting Started

You will need:

  • Docker desktop
  • Docker-Kubernetes or Minikube (Kubernetes Dashboard or similar)
  • Helm 3
  • kubectl
  • superbenchmarker choco install superbenchmarker

Prerequisites

uses aballaci/springboot-sakila-jpa:v3 in Dockerhub

you can build your own version:

docker build -t namespace/image-name:version .

docker push namespace/image-name:version

Set first the namespace in the current context -- the services should be installed in the same namespace.

kubectl config set-context --current --namespace=default

install prometheus:

helm install prometheus ./prometheus

install the postgres persistent volumes that populate the database:

kubectl create -f persistent-volume.yml

install postgres

helm install postgres postgresql/

install grafana:

helm upgrade grafana ./grafana/

create the prometheus datasource:

url: http://prometheus-server

access: Server(default)

install the dashboard in grafana importing it from grafana_dashboard_spring-boot-statistics_rev2.json

Installing

kubectl apply -f springboot-jpa.yaml

or for local development

skaffold dev

to make the builds faster use a nexus docker image as proxy... more on that later...

Metrics: http://localhost:8080/actuator/metrics

Metrics in prometheus format: http://localhost:8080/actuator/prometheus

Grafana dashboard:

screenshot

Running the tests

`Run the load tests: sh load-test.sh

screenshot

Versioning

I use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Armand Ballaci

License

This project is licensed under the MIT License - see the LICENSE.md file for details

springboot-jpa-sakila's People

Contributors

aballaci avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.