Git Product home page Git Product logo

star-admin-backend's Introduction

star-admin-backend

该项目主要聚焦于初级程序员技术start up,新手学习,并且采用个人认为不错的技术栈来编写一套高可用的CMS 基于 Spring Boot/Spring Cloud 前后端分离的分布式微服务架构,并使用Kubernetes进行容器编排,弹性伸缩,实现高可用的微服务集群。目标代码不重复(DRY),关注点分离(Soc),无状态(stateless)

1.1 技术栈

  • 为了为此项目建立可行的生产环境,对技术架构有一些要求。其中大多数在其他项目中也经常需要。

  • 后端采用Spring Boot、Spring Cloud,技术语言使用Kotlin/Java 21

  • 无注册中心、配置中心,使用Kubernetes的Service、ConfigMap、Secret等资源来实现服务注册、配置中心、服务发现等功能

  • 日志追踪使用OpenTelemetry + Jaeger,使用ELK(Elasticsearch、Logstash、Kibana)做日志存储

  • Metrics: 传入 HTTP 请求率、请求处理时间、错误率、每个 HTTP 状态代码的响应数量、运行状况、内存使用情况可视化使用OpenTelemetry + Prometheus + Grafana。

  • 使用响应式编程(Reactive Programming)

  • 依赖包管理使用Gradle,并且使用libs.versions.toml来做版本管理

  • 支持Oauth2登录(Microsoft,Google),JWT 用作无状态授权,权限认证视需求用db或redis实现

  • 使用Flyway做数据库迁移,数据库使用Mysql

  • 使用kafka做消息推送服务

1.2

todo

  • 环境搭建

    • docker compose 运行环境搭建

    • kubernetes 运行环境搭建

  • 基础架构搭建

    • 引入Gradle
    • Spring Cloud
    • Dockerfile
    • 引入SpringCloud gateway
    • 建user等模块
    • 引入ORM(Jooq)
    • OpenFeign
    • 引入MySQL/PostgreSQL/MongoDB
    • 引入Oauth2,Adfs等login方式,权限认证
    • 服务间追踪和指标
    • 基本定时任务实现和分布式锁
  • 测试

    • 单元测试
    • 集成测试
      • 端到端测试
      • 并发测试
    • 压力测试
    • 负载测试
  • 文档

    • Spring Doc

star-admin-backend's People

Contributors

kahen avatar

Watchers

 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.