10 个仓库
Architectural patterns for separating client and server layers via interface contracts.
Distinguishing note: Focuses on the architectural separation of concerns rather than specific API implementation styles.
Explore 10 awesome GitHub repositories matching web development · API Decoupling. Refine with filters or upvote what's useful.
This project is an enterprise application framework designed to accelerate the construction of complex business software. It functions as a full-stack code generator that automatically produces backend logic, database operations, and frontend interface components from defined data schemas. By providing a standardized foundation for security, authentication, and administrative management, it enables developers to rapidly deploy functional, production-ready software environments. The platform distinguishes itself through its native support for multi-tenant architectures, allowing for secure dat
Separates client and server layers using standardized interface contracts to enable independent scaling.
Kratos is a centralized identity and access management server designed to handle user registration, authentication, and profile management. It functions as an identity flow orchestrator, managing the state and security of authentication processes across web, mobile, and command-line interfaces. The system provides a standards-compliant authorization server that issues tokens and manages delegated access for third-party applications and internal services, supporting multi-factor authentication and custom identity schemas to secure user accounts. The project distinguishes itself through a headl
Separates user interface and backend layers through interface contracts to enable custom authentication experiences.
SpaceBarChat is an open-source, self-hosted chat server that implements the Discord client-server protocol, allowing existing Discord clients and bots to connect without modification. It provides a complete communication platform for real-time messaging, voice, and video, all running on your own infrastructure with data stored in a PostgreSQL database that automatically synchronizes its schema with the application source code. The platform is built on a three-service architecture that separates API, Gateway, and CDN processes, communicating via Unix domain sockets or RabbitMQ for coordination
Implements a three-service architecture with message broker routing for real-time updates.
Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a distributed service broker, task orchestrator, and service mesh framework, enabling a decentralized architecture with built-in service discovery and load balancing. The project differentiates itself through a pluggable transport layer supporting protocols such as NATS, Redis, TCP, and Kafka, as well as a dedicated microservices API gateway that maps external HTTP and WebSocket requests to internal service actions. It includes built-in fault tolerance mechanisms, including circuit breake
Uses message brokers like NATS or Redis to route events between decoupled server processes.
ServiceStack 是一个高性能 .NET Web 框架,专为使用强类型请求和响应对象构建类型安全的 API 而设计。它作为一个基于消息的 API 引擎,将业务逻辑与传输层解耦,允许通过包括 HTTP、gRPC 和各种消息队列提供商在内的多种协议公开服务。 该框架的特点是其类型安全的 API 生成器,它从跨多种语言的服务元数据中生成原生客户端 SDK 和数据传输对象。它还包括用于微服务编排的分布式服务网关、将 C# 对象直接转换为数据库记录的代码优先 ORM,以及用于安全令牌访问的集中式身份和访问管理系统。 其更广泛的功能面涵盖通过 Pub-Sub 和服务器发送事件(SSE)进行的异步消息传递和实时事件流。它为 JSON、XML、ProtoBuf 和 MessagePack 等格式提供全面的数据序列化支持,以及包括 JWT、API 密钥和阶梯式认证在内的集成认证流程。其他工具包括自动 CRUD API 生成、后台作业执行和管理仪表盘模板。
Implements an architectural separation of the API contract from service logic using standalone transfer objects.
FastStream is an asynchronous Python framework designed for building event-driven microservices. It provides a unified abstraction layer for interacting with various message brokers, enabling developers to manage event production and consumption through a consistent interface while maintaining access to native provider-specific features. The framework centers on a decorator-based routing model that binds application logic directly to broker topics, supported by a built-in dependency injection container that resolves resources at runtime. The framework distinguishes itself through its deep int
Redirects subscribers and publishers to an in-memory store to allow application testing without a live broker.
本项目是一个使用 go-zero 框架构建分布式系统的参考实现和架构蓝图。它提供了一个完整的微服务样板和标准化的项目布局,以引导具有一致文件夹结构的 API 和 RPC 服务。 该实现的特色在于为服务发现、限流和熔断提供了全面的指南和代码库。它展示了一个可观测性栈集成,协调了跨多个微服务的分布式追踪、指标收集和集中式日志记录。 该系统涵盖了广泛的分布式功能,包括通过发布-订阅模型的异步消息传递、用于数据一致性的分布式事务管理,以及将外部请求与内部通信分离的网关聚合模式。它还包括从定义自动生成代码以及用于容器部署的持续交付流水线。
Provides asynchronous task queues for executing background jobs and handling deferred work via a broker.
本项目作为开发可扩展 Spring Boot 应用程序的参考架构和最佳实践指南。它为 Java 后端开发提供了结构蓝图,重点在于解耦 API 的实现和架构标准的建立。 该项目详细介绍了自定义启动器(starters)和自动配置模块的创建,以简化第三方库的集成。它还提供了将应用程序打包为可执行 jar 文件并为容器化云环境优化分层构建的部署蓝图。 其能力范围涵盖了通过内存缓存和异步处理进行的性能调优,以及使用分布式锁和消息代理的分布式系统同步。其他内容还包括数据持久化管理、数据库迁移、自动化任务调度以及用于处理横切关注点的面向切面编程(AOP)的实现。
Provides a blueprint for building decoupled APIs that separate backend data logic from the user interface.
FastStream is an asyncio message broker framework for building event-driven applications in Python. It provides a unified interface and a multi-broker messaging abstraction layer that translates generic producer and consumer calls into broker-specific APIs. The framework features a built-in dependency injection container and uses decorators to route messages to asynchronous handler functions. It includes a documentation generator that extracts channel definitions and message formats from code to produce standardized AsyncAPI specifications. The project supports integration with Kafka, Rabbit
Sends messages to the broker from any HTTP route using context injection.
Nameko 是一个用于构建分布式系统的 Python 微服务框架。它作为 RPC 通信框架和事件驱动架构工具,利用消息代理实现服务组件间的解耦。 该框架提供了一个多协议网关,通过 HTTP 端点和 WebSocket 将内部微服务逻辑暴露给外部客户端。它支持请求-响应消息交换以及异步事件广播,以维护分布式系统中的数据一致性。 系统包含用于控制和交互服务的命令行界面,以及用于分布式服务逻辑单元测试和集成测试的实用工具。
Uses a message broker to route asynchronous requests and events between decoupled microservices.