# k8s-mesh **Repository Path**: caixy/k8s-mesh ## Basic Information - **Project Name**: k8s-mesh - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-19 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # K8s-Mesh 项目说明文档 ## 项目简介 `k8s-mesh` 是一个基于 Kubernetes 的微服务架构项目,旨在提供一套完整的微服务解决方案。该项目利用 Spring Cloud 和 Kubernetes 的强大功能,支持服务发现、配置管理、API 网关、服务间通信等功能,适用于构建高可用、可扩展的分布式系统。 ## 项目结构 项目采用模块化设计,主要模块包括: - **base**: 提供基础服务,包含字典管理、配置管理、文件存储、二维码生成等通用功能。 - **hello**: 示例服务模块,演示如何通过 Feign 实现服务间通信。 - **uaa**: 用户认证与授权模块(未展开)。 - **image**: 图片处理模块(未展开)。 - **config**: 配置文件目录,包含 Kubernetes 部署配置。 - **bin**: 部署脚本目录,包含部署脚本 `deploy.sh`。 ## 核心功能 ### Base 模块 - **字典管理 (Dict)**: 提供多级字典管理功能,支持父子字典关系、字典拥有者(DictOwner)等。 - **配置管理 (Setting)**: 支持系统级别的配置管理,包含结构化配置(SettingStruct)和运行时配置(DomainConfig)。 - **文件存储 (GenerateFileStorage)**: 提供文件生成与存储功能,支持设置过期时间、来源信息等。 - **二维码生成 (QrCode)**: 支持生成带重定向链接的二维码,并记录创建与更新时间。 - **审计日志 (PersistentAuditEvent)**: 记录系统操作日志,便于审计与追踪。 ### Hello 模块 - **服务通信 (BaseClient, BaseService)**: 使用 Feign 实现服务间通信,调用 Base 模块提供的 API。 - **时间服务 (TimeResource)**: 提供一个简单的 REST 接口,返回当前时间。 ## 技术栈 - **Spring Boot**: 构建微服务的基础框架。 - **Spring Cloud**: 提供服务发现(Eureka)、配置中心(Config)、服务间通信(Feign)等功能。 - **JPA**: 数据持久化层,使用 Hibernate 实现。 - **Kubernetes**: 用于容器编排与服务管理。 - **Docker**: 容器化部署工具,提供服务的打包与运行环境。 - **Feign**: 声明式服务调用客户端,简化服务间通信。 ## 快速开始 ### 环境要求 - JDK 1.8 或更高版本 - Maven 3.x - Docker - Kubernetes 集群(可选) ### 构建项目 ```bash mvn clean package ``` ### 启动服务 #### 启动 Base 服务 ```bash cd base mvn spring-boot:run ``` #### 启动 Hello 服务 ```bash cd hello mvn spring-boot:run ``` ### 访问接口 - **获取系统配置**: `GET /hello/config` - **获取当前时间**: `GET /time/` ### 容器化部署 1. 构建 Docker 镜像: ```bash docker build -t k8s-mesh . ``` 2. 运行 Docker 容器: ```bash docker run -d -p 8080:8080 k8s-mesh ``` 3. 使用 Kubernetes 部署: ```bash kubectl apply -f config/ ``` ## 贡献指南 欢迎贡献代码和反馈问题!请遵循以下步骤: 1. Fork 项目仓库。 2. 创建新分支 (`git checkout -b feature/new-feature`)。 3. 提交更改 (`git commit -am 'Add new feature'`)。 4. 推送分支 (`git push origin feature/new-feature`)。 5. 提交 Pull Request。 ## 许可证 本项目采用 [MIT License](https://opensource.org/licenses/MIT),详情请参见 LICENSE 文件。 ## 联系方式 如有任何问题或建议,请提交 Issue 或联系项目维护者。