# tarscloud/tars

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tarscloud-tars).**

10,071 stars · 2,072 forks · C++ · BSD-3-Clause

## Links

- GitHub: https://github.com/TarsCloud/Tars
- awesome-repositories: https://awesome-repositories.com/repository/tarscloud-tars.md

## Topics

`high-availability` `high-performance` `microservice` `rpc-framework` `tars` `tars-foundation`

## Description

Tars is a distributed systems platform that provides a high-performance remote procedure call (RPC) framework, service discovery, and a centralized administration platform for building and managing microservice-based applications. At its core, it offers a custom binary protocol for efficient serialization and communication between services, along with a name service that dynamically resolves service endpoints for RPC routing.

The platform distinguishes itself by supporting multi-language microservice development, enabling services to be written in C++, Java, Node.js, PHP, and Go using a shared RPC framework and consistent protocol. It includes a flexible scheduling engine that assigns service instances to hosts based on configurable policies, and a web-based administration platform for real-time service monitoring, configuration, and lifecycle management. The framework also generates client and server stubs from interface definitions across all supported languages, and hosts stateless application logic in lightweight containers that can be started, stopped, or migrated.

Additional capabilities include centralized service administration for monitoring and configuring distributed deployments, as well as tools for tracking service statistics and maintaining operational reliability. The project bundles a complete set of components for service registration, peer discovery, and workload scheduling across distributed systems.

## Tags

### Networking & Communication

- [RPC Frameworks](https://awesome-repositories.com/f/networking-communication/rpc-frameworks.md) — Provides a high-performance RPC framework with service discovery for building distributed applications. ([source](https://cdn.jsdelivr.net/gh/tarscloud/tars@master/README.md))
- [High-Performance RPC Protocols](https://awesome-repositories.com/f/networking-communication/binary-communication-protocols/high-performance-rpc-protocols.md) — Implements a custom binary protocol for efficient serialization and low-latency RPC communication.
- [Binary Serialization Protocols](https://awesome-repositories.com/f/networking-communication/network-protocol-implementations/binary-serialization-protocols.md) — Implements a custom binary protocol for efficient serialization and low-latency communication between services.
- [Multi-Language RPC Services](https://awesome-repositories.com/f/networking-communication/rpc-frameworks/multi-language-rpc-services.md) — Enables microservice development across C++, Java, Node.js, PHP, and Go using a shared RPC framework. ([source](https://tarscloud.github.io/TarsDocs_en/))

### Part of an Awesome List

- [Service Discovery and Mesh](https://awesome-repositories.com/f/awesome-lists/devops/service-discovery-and-mesh.md) — Manages service registration, peer discovery, and flexible workload scheduling across distributed systems.

### Business & Productivity Software

- [Service Administration Panels](https://awesome-repositories.com/f/business-productivity-software/service-administration-panels.md) — Provides a centralized administration platform for monitoring, configuring, and scheduling distributed services. ([source](https://cdn.jsdelivr.net/gh/tarscloud/tars@master/README.md))
- [Workload Scheduling Engines](https://awesome-repositories.com/f/business-productivity-software/service-availability-scheduling/workload-scheduling-engines.md) — Includes a flexible scheduling engine that assigns service instances to hosts based on configurable policies.

### Software Engineering & Architecture

- [Distributed Service Administration Platforms](https://awesome-repositories.com/f/software-engineering-architecture/distributed-orchestration-platforms/distributed-service-administration-platforms.md) — Provides a centralized platform for monitoring, configuring, and scheduling hosted services across distributed applications.
- [Multi-Language Microservice Development](https://awesome-repositories.com/f/software-engineering-architecture/microservice-development-platforms/multi-language-microservice-development.md) — Supports writing microservices in C++, Java, Node.js, PHP, or Go using a shared RPC framework.
- [Stateless Service Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/backend-enterprise-systems/data-persistence-architectures/stateless-service-architectures.md) — Hosts stateless application logic in lightweight containers that can be started, stopped, or migrated.

### Web Development

- [Multi-Language](https://awesome-repositories.com/f/web-development/microservices-frameworks/multi-language.md) — Supports service development in C++, Java, Node.js, PHP, and Go with a shared RPC protocol and service discovery.
- [Name Service Based RPC](https://awesome-repositories.com/f/web-development/rpc-service-mappers/name-service-based-rpc.md) — Routes remote procedure calls through a centralized name service that dynamically resolves service endpoints.
- [Server Stub Generators](https://awesome-repositories.com/f/web-development/api-client-generators/multi-language-client-generation/server-stub-generators.md) — Generates client and server stubs from interface definitions across C++, Java, Node.js, PHP, and Go.

### DevOps & Infrastructure

- [Web-Based Control Planes](https://awesome-repositories.com/f/devops-infrastructure/platform-administration/web-based-control-planes.md) — Bundles a web-based control plane for real-time service monitoring, configuration, and lifecycle management.

### System Administration & Monitoring

- [Service Monitors](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/service-and-infrastructure-management/service-infrastructure-monitoring/service-monitors.md) — Tracks service statistics, adjusts settings, and maintains reliable operation across distributed applications. ([source](https://cdn.jsdelivr.net/gh/tarscloud/tars@master/README.md))
