{"id":28680743,"url":"https://github.com/alibaba/cloudapp-framework","last_synced_at":"2025-10-14T08:45:24.844Z","repository":{"id":296373226,"uuid":"988903846","full_name":"alibaba/cloudapp-framework","owner":"alibaba","description":"A unified, developer-friendly SDK wrapper for cloud service products","archived":false,"fork":false,"pushed_at":"2025-09-16T08:13:40.000Z","size":19246,"stargazers_count":21,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-16T10:23:02.170Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.aliyun.com/product/edas","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alibaba.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-23T08:52:25.000Z","updated_at":"2025-09-16T08:13:43.000Z","dependencies_parsed_at":"2025-09-09T04:41:02.349Z","dependency_job_id":null,"html_url":"https://github.com/alibaba/cloudapp-framework","commit_stats":null,"previous_names":["alibaba/cloudapp-framework"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alibaba/cloudapp-framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fcloudapp-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fcloudapp-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fcloudapp-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fcloudapp-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alibaba","download_url":"https://codeload.github.com/alibaba/cloudapp-framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2Fcloudapp-framework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018297,"owners_count":26086345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-14T02:01:12.172Z","updated_at":"2025-10-14T08:45:24.840Z","avatar_url":"https://github.com/alibaba.png","language":"Java","funding_links":[],"categories":["开发框架"],"sub_categories":[],"readme":"# CloudApp Framework\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Java](https://img.shields.io/badge/Java-8+-orange.svg)](https://www.oracle.com/java/)\n[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.7.18-green.svg)](https://spring.io/projects/spring-boot)\n[![Maven](https://img.shields.io/badge/Maven-3.x-red.svg)](https://maven.apache.org/)\n\n#### [English Version](README.md)\n\n一个统一的多云抽象框架，旨在实现跨不同云服务提供商的无缝应用部署。CloudApp Framework通过统一的SDK封装云厂商服务，消除厂商锁定，支持单一代码库在多云环境中灵活部署。\n\n![CloudApp Framework](docs/assets/CloudApp.jpg)\n\n## 🎯 项目概述\n\nCloudApp Framework解决了云计算中厂商锁定的关键挑战，提供：\n\n- **统一SDK**：为多个云服务提供商提供单一API接口\n- **零厂商锁定**：无需代码更改即可在云服务提供商之间切换\n- **多云支持**：在不同云平台上部署相同应用程序\n- **Spring Boot集成**：原生Spring Boot自动配置和启动器支持\n- **全面服务**：完整的PaaS服务抽象，包括存储、消息传递、缓存等\n\n![Framework Architecture](docs/assets/cloudapp-framework-uml.png)\n\n## ✨ 核心特性\n\n### 🔧 核心能力\n- **自动配置**：零配置Spring Boot集成\n- **动态刷新**：运行时配置更新，无需重启\n- **可观测性**：基于OpenTelemetry的内置指标、日志和链路追踪\n- **多版本支持**：兼容Java 8+和多个Spring Boot版本\n\n### 🌐 分布式服务\n- **对象存储**：跨云服务提供商的统一文件存储\n- **消息传递**：支持Kafka和RocketMQ的抽象消息传递\n- **缓存**：分布式Redis缓存抽象\n- **配置管理**：集中式配置管理\n- **搜索**：Elasticsearch全文搜索集成\n- **API网关**：服务网关抽象\n\n### 🚀 企业特性\n- **微服务治理**：服务发现、负载均衡和流量管理\n- **事务管理**：基于Seata的分布式事务支持\n- **安全性**：OAuth2认证和授权\n- **数据管理**：基于Druid的连接池\n- **全局序列**：分布式ID生成\n- **邮件服务**：基于Freemarker和Thymeleaf的模板邮件\n- **任务调度**：分布式任务调度能力\n\n## 🛠️ 支持的中间件和技术\n\n### **消息传递**\n- Apache Kafka\n- Apache RocketMQ（包括阿里云RocketMQ）\n- Spring Cloud Stream集成\n\n### **存储和数据库**\n- Redis（分布式缓存）\n- Elasticsearch（搜索和分析）\n- Druid（连接池）\n- 多种数据库驱动支持\n\n### **微服务和治理**\n- Spring Cloud Alibaba（Nacos、Dubbo）\n- Spring Cloud（服务发现、配置）\n- OpenTelemetry（可观测性）\n- Seata（分布式事务）\n\n### **安全和认证**\n- OAuth2 / JWT\n- Spring Security集成\n- RBAC支持\n\n### **开发和监控**\n- Spring Boot 2.7.x\n- Maven构建系统\n- OpenTelemetry指标和链路追踪\n- Prometheus集成\n- 支持链路关联的Log4j2\n\n## 🚀 快速开始\n\n### 前置条件\n- Java 8或更高版本\n- Maven 3.x\n- Spring Boot 2.7.x\n\n### 1. 添加依赖\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.alibaba.cloudapp\u003c/groupId\u003e\n    \u003cartifactId\u003espring-boot-starter-cloudapp\u003c/artifactId\u003e\n    \u003cversion\u003e1.0.3\u003c/version\u003e\n\u003c/dependency\u003e\n\n\u003c!-- 添加特定云服务提供商实现 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.alibaba.cloudapp\u003c/groupId\u003e\n    \u003cartifactId\u003ecloudapp-spring-filestore-aliyun\u003c/artifactId\u003e\n    \u003cversion\u003e1.0.3\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### 2. 配置\n\n```yaml\nio:\n  cloudapp:\n    filestore:\n      aliyun:\n        endpoint: your-oss-endpoint\n        access-key-id: your-access-key\n        access-key-secret: your-secret-key\n        bucket-name: your-bucket\n```\n\n### 3. 使用\n\n```java\n@Autowired\nprivate ObjectStorageService objectStorageService;\n\npublic void uploadFile(String key, InputStream inputStream) {\n    objectStorageService.putObject(key, inputStream);\n}\n```\n\n## 📋 模块结构\n\n### **核心模块**\n- `cloudapp-framework-core` - 核心抽象和工具\n  - `cloudapp-base-api` - 统一服务接口\n  - `cloudapp-base-utils` - 通用工具\n  - `spring-boot-starter-cloudapp` - Spring Boot自动配置\n\n### **PaaS服务**\n- `cloudapp-framework-paas` - 平台服务实现\n  - `cloudapp-spring-config` - 配置管理\n  - `cloudapp-spring-filestore` - 对象存储（OSS、OBS、MinIO）\n  - `cloudapp-spring-messaging` - 消息传递（Kafka、RocketMQ）\n  - `cloudapp-spring-redis` - 分布式缓存\n  - `cloudapp-spring-search` - 搜索服务（Elasticsearch）\n  - `cloudapp-spring-apigateway` - API网关集成\n  - `cloudapp-spring-scheduler` - 任务调度\n\n### **微服务**\n- `cloudapp-framework-microservices` - 微服务治理\n  - `cloudapp-microservice-aliyun` - 阿里云微服务支持\n  - `cloudapp-microservice-huawei` - 华为云微服务支持\n\n### **可观测性**\n- `cloudapp-framework-observabilities` - 监控和可观测性\n  - `cloudapp-observabilities-opentelemetry` - OpenTelemetry集成\n\n### **工具和扩展**\n- `cloudapp-framework-tools` - 附加工具和集成\n  - `cloudapp-datasource-druid` - 数据库连接池\n  - `cloudapp-spring-mail` - 邮件服务\n  - `cloudapp-spring-oauth2` - OAuth2安全\n  - `cloudapp-spring-seata` - 分布式事务\n  - `cloudapp-spring-sequence` - 全局序列生成\n\n### **演示和示例**\n- `cloudapp-framework-demos` - 每个服务的完整演示应用程序\n\n## 🔧 构建和开发\n\n### 从源代码构建\n```bash\ngit clone https://github.com/alibaba/cloudapp-framework.git\ncd cloudapp-framework\nmvn clean install\n```\n\n### 运行测试\n```bash\nmvn test\n```\n\n### 运行特定演示\n```bash\ncd cloudapp-framework-demos/cloudapp-filestore-demo/cloudapp-filestore-demo-aliyun\nmvn spring-boot:run\n```\n\n## 📖 文档\n\n每个服务的详细文档：\n\n- [分布式对象存储设计与使用](docs/分布式对象存储设计与使用.md)\n- [分布式消息设计与使用](docs/分布式消息设计与使用.md)\n- [分布式缓存设计与使用](docs/分布式缓存设计与使用.md)\n- [分布式配置设计与使用](docs/分布式配置设计与使用.md)\n- [分布式搜索设计与使用](docs/分布式搜索设计与使用.md)\n- [服务网关设计与使用](docs/服务网关设计与使用.md)\n- [微服务治理设计与使用](docs/微服务治理设计与使用.md)\n- [可观测设计与使用](docs/可观测设计与使用.md)\n- [数据源设计与使用](docs/数据源设计与使用.md)\n- [线程池设计与使用](docs/线程池设计与使用.md)\n- [分布式任务设计与使用](docs/分布式任务设计与使用.md)\n- [OAuth2应用设计与使用](docs/OAuth2应用设计与使用.md)\n- [事务管理设计与使用](docs/事务管理设计与使用.md)\n- [邮件设计与使用](docs/邮件设计与使用.md)\n- [全局序列设计与使用](docs/全局序列设计与使用.md)\n- [工具类设计与使用](docs/工具类设计与使用.md)\n- [异常设计与使用](docs/异常设计与使用.md)\n\n\n## 📄 许可证\n\n本项目采用Apache License 2.0许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibaba%2Fcloudapp-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falibaba%2Fcloudapp-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibaba%2Fcloudapp-framework/lists"}