All Projects → AlbertZheng → spring-cloud-microservices-on-kubernetes

AlbertZheng / spring-cloud-microservices-on-kubernetes

Licence: Apache-2.0 license
My Best Practices in development and deployment of Spring Cloud Microservices on Kubernetes.

Programming Languages

java
68154 projects - #9 most used programming language
Dockerfile
14818 projects
TSQL
950 projects
shell
77523 projects

Projects that are alternatives of or similar to spring-cloud-microservices-on-kubernetes

ansible-role-rke2
Ansible Role to install RKE2 Kubernetes.
Stars: ✭ 118 (+521.05%)
Mutual labels:  rancher, kubernetes-cluster, kubernetes-deployment
Ops Cli
Ops - cli wrapper for Terraform, Ansible, Helmfile and SSH for cloud automation
Stars: ✭ 152 (+700%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
Hkube
Kubernetes cluster deployment to Hetzner Cloud
Stars: ✭ 55 (+189.47%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
Metalk8s
An opinionated Kubernetes distribution with a focus on long-term on-prem deployments
Stars: ✭ 217 (+1042.11%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
Kubekey
Provides a flexible, rapid and convenient way to install Kubernetes only, both Kubernetes and KubeSphere, and related cloud-native add-ons. It is also an efficient tool to scale and upgrade your cluster.
Stars: ✭ 288 (+1415.79%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
Kubernetes Workshop
⚙️ A Gentle introduction to Kubernetes with more than just the basics. 🌟 Give it a star if you like it.
Stars: ✭ 3,122 (+16331.58%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
Kubectl Doctor
kubectl cluster triage plugin for k8s - 🏥 (brew doctor equivalent)
Stars: ✭ 209 (+1000%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
terraform-vultr-condor
Kubernetes Deployment Tool for Vultr
Stars: ✭ 60 (+215.79%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
K3s Ansible
Ansible playbook to deploy k3s kubernetes cluster
Stars: ✭ 153 (+705.26%)
Mutual labels:  rancher, kubernetes-cluster
spring-boot-cities-service
A Spring Boot + Spring Data + Spring Cloud Connectors demo app
Stars: ✭ 13 (-31.58%)
Mutual labels:  spring-cloud, flyway
ecommerce-microservices-spring-reactive-webflux
E-commerce demo with spring reactive webflux and spring cloud microservice
Stars: ✭ 107 (+463.16%)
Mutual labels:  spring-cloud, flyway
Eksctl
The official CLI for Amazon EKS
Stars: ✭ 3,550 (+18584.21%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
Kubernetes Tutorial
Running Kubernetes cluster Locally tutorial
Stars: ✭ 257 (+1252.63%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
Kubernix
Single dependency Kubernetes clusters for local testing, experimenting and development
Stars: ✭ 545 (+2768.42%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
k8s-day2-ops
This repository contain scripts for Kubernetes day 2 operations
Stars: ✭ 25 (+31.58%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
Sonobuoy
Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests and other plugins in an accessible and non-destructive manner.
Stars: ✭ 2,442 (+12752.63%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
k3s-on-prem-production
Playbooks needed to set up an on-premises K3s cluster and securize it
Stars: ✭ 108 (+468.42%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
ansible-role-k8s
This role render an arbitrary number of Jinja2 templates and deploys or removes them to/from Kubernetes clusters.
Stars: ✭ 26 (+36.84%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment
metrics-server-on-rancher-2.0.2
Method to Setup Metrics-Server on Kubernetes via Rancher-Deployed Cluster
Stars: ✭ 14 (-26.32%)
Mutual labels:  rancher, kubernetes-cluster
kubernetes-starterkit
A launchpad for developers to learn Kubernetes from scratch and deployment of microservices on a kubernetes cluster.
Stars: ✭ 39 (+105.26%)
Mutual labels:  kubernetes-cluster, kubernetes-deployment

项目说明

简介

有朋友们来咨询关于用Spring Cloud全家桶开发微服务应用的问题、以及在Kubernetes上编排部署Spring Cloud微服务、如何寻址的问题,因此萌发了将我以前在几个互联网项目中开发和k8s部署微服务实战中积累的最佳实践提炼出来分享的想法。本项目为一个浓缩了Spring Cloud Microservices on Kubernetes最佳实践的mini微服务应用参考,用于最佳实践的分享,技术演示了:

  1. 一个可快速复制的采用Spring Cloud全家桶来开发微服务应用的框架;
  2. 一套可快速复制的将Spring Cloud微服务部署到Kubernetes集群上的部署方案和YAML部署脚本(在生产项目应用中,这些YAML脚本应该需要部署到公司的CI & CD pipeline上以实现自动化的CI & CD)。

技术栈

  1. KubernetesRancher Server:作为自动化部署、伸缩和编排微服务容器集群的PaaS平台。

  2. Spring Cloud全家桶:用于开发微服务应用。采用目前最稳定的Edgware RELEASE,最佳搭配的全家桶组件有:

    • 开发:Zuul作为API Gateway,Eureka作为服务注册治理中心,Spring Cloud Config作为配置中心,Hystrix作为熔断器、降级和限流,Ribbon作为负载均衡,Feign作为声明式的REST Client。
    • 监控:Spring Boot Actuator+Spring Boor Admin提供每个微服务的自省和监控能力、以及可视化监控UI,Hystrix Dashboard用于可视化监控Hystrix Metrics,Turbine用于聚合各个微服务的Hystrix Metrics,SleuthZipkin用于分布式调用跟踪。
  3. Swagger & Swagger UI:用于REST API文档和兼作REST API调试。

  4. MyBatis:用于MySQL数据库访问ORM。

  5. RabbitMQ:用于可靠的消息服务中间件。

  6. Flyway:秉承DevOps一切均代码思想,采用Flyway用于数据库升级的配置管理。

  7. 第三库:lombokguava

更新计划

  1. 采用RabbitMQ让各个微服务实例异步吐出Hystrix Metrics和Turbine进行异步采集聚合。
  2. 部署上ZipkinElasticsearch:估计虚拟机的配置需要升级才能跑得动:(。
  3. TCC柔性分布式事务处理的演示:需要再开发几个演示TCC的微服务。
  4. Spring Data JPA Repositories+Hibernate:演示另一种数据库ORM方案。
  5. 文档:增加&完善文档。

结语

感谢你的耐心阅读,如有对本项目中的Spring Cloud & Kubernetes的使用或者对本人的编码风格有更好的想法或者建议,欢迎通过邮件 [email protected]或QQ [email protected]与我取得联系,万分感谢。

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].