Skip to content

alickreborn0/cloudapp-framework

 
 

Repository files navigation

设计与使用说明

设计目标

CloudApp框架的目标是旨在设计一套通过统一的 SDK 封装云厂商的服务之后,解耦各个云厂商对应 PaaS 服务的编程差异,达到一套代码在不同厂商间灵活交付的效果。

alt text

当前的应用维度的包组织结构如下,在一个应用构建的过程中,将包括通用的 starter 依赖与对应云产品功能的实现的依赖,如下所示:

@startuml 

' 框架核心
package "cloudapp-framework-core" {
    package "spring-boot-starter-cloudapp" {}
    package "cloudapp-base-utils" {}
    package "cloudapp-base-api" {
        package "api" {
            package "cache" {}
            package "config" {}
            package "email" {}
            package "filestore" {}
            package "gateway" {}
            package "messaging" {}
            package "microservice" {}
            package "oauth2" {}
            package "observabilities" {}
            package "scheduler" {}
            package "search" {}
            package "seate" {}
            package "sequence" {}
        }
        package "exception" {}
    }
}

' 平台服务
package "cloudapp-framework-paas" {
    package "cloudapp-spring-apigateway" {}
    package "cloudapp-spring-config" {}
    package "cloudapp-spring-filestore" {}
    package "cloudapp-spring-messaging" {}
    package "cloudapp-spring-redis" {}
    package "cloudapp-spring-scheduler" {}
    package "cloudapp-spring-search" {}
    package "cloudapp-spring-aliee" {}
}

' 微服务
package "cloudapp-framework-microservices" {
    package "cloudapp-microservice-aliyun" {}
}

' 可观测
package "cloudapp-framework-observabilities" {
    package "cloudapp-observabilities-opentelemetry" {}
}

' 通用服务/工具
package "cloudapp-framework-tools" {
    package "cloudapp-datasource-druid" {}
    package "cloudapp-spring-mail" {}
    package "cloudapp-spring-oauth2" {}
    package "cloudapp-spring-seata" {}
    package "cloudapp-spring-sequence" {}
}

package application #Green {} 

"cloudapp-base-api" <-[dashed]- "cloudapp-framework-paas" : implements
"cloudapp-base-api" <-[dashed]- "cloudapp-framework-microservices" : implements
"cloudapp-base-api" <-[dashed]- "cloudapp-framework-observabilities" : implements
"cloudapp-base-api" <-[dashed]- "cloudapp-framework-tools" : implements

"cloudapp-base-utils" <-[dashed]- application : uses
"spring-boot-starter-cloudapp" <-[dashed]- application : uses
"cloudapp-framework-paas" <-[dashed]- application : uses
"cloudapp-framework-microservices" <-[dashed]- application : uses
"cloudapp-framework-observabilities" <-[dashed]- application : uses
"cloudapp-framework-tools" <-[dashed]- application : uses

@enduml

在框架统一的 SDK 实现中,包括:分布式对象存储、分布式消息、分布式缓存、分布式配置等平台服务,也包括:全局序列、数据源等通用服务,还包括:微服务治理、可观测、应用服务器 aliee 和 AI 平台等。除了将 SDK 统一之外,框架还提供各服务的动态刷新与监控能力。此外,框架适配多版本 JDK、SpringBoot。

设计与使用说明如下:

分布式对象存储设计与使用

分布式消息设计与使用

分布式缓存设计与使用

分布式配置设计与使用

分布式搜索设计与使用

服务网关设计与使用

微服务治理设计与使用

可观测设计与使用

数据源设计与使用

线程池设计与使用

分布式任务设计与使用

OAuth2应用设计与使用

事务管理设计与使用

邮件设计与使用

全局序列设计与使用

工具类设计与使用

异常设计与使用

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.5%
  • Other 0.5%