Spring Cloud Application
to Kubernetes
Vincent Huang 黃健旻
Hi there 👋, I'm Vincent Huang
References
a definition of this new architectural term
The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization and business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data.
a definition of this new architectural term
The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization and business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data.
What will happen if we change from Monolithic to Microservice ?
Spring Cloud Netflix
Netflix Microservice Architecture
Technique Stack Compare
Feature | Spring Cloud | Kubernetes |
Service Discovery | Eureka | Internal DNS |
Gateway | Cloud Gateway | Istio Ingress Gateway |
Traffic | Ribbon, Feign | Istio Sidecar (Envoy) |
Circuit Break, Rate Limit, Retry, Timeout, Fast Fall | Hystrix | Istio |
Monitor Dashboard | Boot Admin, Zabbix | Grafana, Prometheus |
Trace | Cloud Sleuth, Zipkin | jaeger |
Config | Cloud Config | Configmap |
Schedule, Job | Schedule, Batch | Job, CronJob |
Infrastructure Tool | Ansible, Docker Compose | Helm |
Client Side Discovery
Server Side Discovery
Technique Stack Compare
Feature | Spring Cloud | Kubernetes |
Service Discovery | Eureka | Internal DNS |
Gateway | Cloud Gateway | Istio Ingress Gateway |
Traffic | Ribbon, Feign | Istio Sidecar (Envoy) |
Circuit Break, Rate Limit, Retry, Timeout, Fast Fall | Hystrix | Istio |
Monitor Dashboard | Boot Admin, Zabbix | Grafana, Prometheus |
Trace | Cloud Sleuth, Zipkin | jaeger |
Config | Cloud Config | Configmap |
Schedule, Job | Schedule, Batch | Job, CronJob |
Infrastructure Tool | Ansible, Docker Compose | Helm |
Spring Cloud
KubernetesService Mesh (Istio)
Technique Stack Compare
Feature | Spring Cloud | Kubernetes |
Service Discovery | Eureka | Internal DNS |
Gateway | Cloud Gateway | Istio Ingress Gateway |
Traffic | Ribbon, Feign | Istio Sidecar (Envoy) |
Circuit Break, Rate Limit, Retry, Timeout, Fast Fall | Hystrix | Istio |
Monitor Dashboard | Boot Admin, Zabbix | Grafana, Prometheus |
Trace | Cloud Sleuth, Zipkin | jaeger |
Config | Cloud Config | Configmap |
Schedule, Job | Schedule, Batch | Job, CronJob |
Infrastructure Tool | Ansible, Docker Compose | Helm |
Monitor Spring Cloud
Monitor Spring Cloud
Monitor Kubernetes
Spring Boot Actuator
Prometheus
Grafana
Monitor Kubernetes
Monitor Kubernetes
Monitor Kubernetes
Technique Stack Compare
Feature | Spring Cloud | Kubernetes |
Service Discovery | Eureka | Internal DNS |
Gateway | Cloud Gateway | Istio Ingress Gateway |
Traffic | Ribbon, Feign | Istio Sidecar (Envoy) |
Circuit Break, Rate Limit, Retry, Timeout, Fast Fall | Hystrix | Istio |
Monitor Dashboard | Boot Admin, Zabbix | Grafana, Prometheus |
Trace | Cloud Sleuth, Zipkin | jaeger |
Config | Cloud Config | Configmap |
Schedule, Job | Schedule, Batch | Job, CronJob |
Infrastructure Tool | Ansible, Docker Compose | Helm |
Zipkin
Integration in Rancher
Jaeger
Technique Stack Compare
Feature | Spring Cloud | Kubernetes |
Service Discovery | Eureka | Internal DNS |
Gateway | Cloud Gateway | Istio Ingress Gateway |
Traffic | Ribbon, Feign | Istio Sidecar (Envoy) |
Circuit Break, Rate Limit, Retry, Timeout, Fast Fall | Hystrix | Istio |
Monitor Dashboard | Boot Admin, Zabbix | Grafana, Prometheus |
Trace | Cloud Sleuth, Zipkin | jaeger |
Config | Cloud Config | Configmap |
Schedule, Job | Schedule, Batch | Job, CronJob |
Infrastructure Tool | Ansible, Docker Compose | Helm |
ConfigSpring Cloud
ConfigKubernetes
ConfigKubernetes
Technique Stack Compare
Feature | Spring Cloud | Kubernetes |
Service Discovery | Eureka | Internal DNS |
Gateway | Cloud Gateway | Istio Ingress Gateway |
Traffic | Ribbon, Feign | Istio Sidecar (Envoy) |
Circuit Break, Rate Limit, Retry, Timeout, Fast Fall | Hystrix | Istio |
Monitor Dashboard | Boot Admin, Zabbix | Grafana, Prometheus |
Trace | Cloud Sleuth, Zipkin | jaeger |
Config | Cloud Config | Configmap |
Schedule, Job | Schedule, Batch | Job, CronJob |
Infrastructure Tool | Ansible, Docker Compose | Helm |
Infrastructure
Spring Cloud
Kubernetes
Docker Docker-Compose K8s
#!/bin/bash
docker run --name member-service …
docker run --name report-service …
docker run --name wallet-service ...
Docker Docker-Compose K8s
version: '3'
services:
# Member Service #
member-service:
image: ${repo_url}/member-service:${member_version}
...
# Report Service #
report-service
image: ${repo_url}/report-service:${report_version}
...
# Wallet Service #
wallet-service
image: ${repo_url}/wallet-service:${wallet_version}
...
YAML Engineer 4 ni !
Spring Cloud
KubernetesService Mesh (Istio)
Thinking
Thank you so much for your time
Q & A