Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sofastack/sofa-rpc

SOFARPC is a high-performance, high-extensibility, production-level Java RPC framework.
https://github.com/sofastack/sofa-rpc

hessian http2 protobuf restful rpc-framework sofa-bolt sofa-rpc sofastack

Last synced: 30 days ago
JSON representation

SOFARPC is a high-performance, high-extensibility, production-level Java RPC framework.

Awesome Lists containing this project

README

        

# SOFARPC

![Build Status](https://github.com/sofastack/sofa-rpc/workflows/build/badge.svg)
[![Coverage Status](https://codecov.io/gh/sofastack/sofa-rpc/branch/master/graph/badge.svg)](https://codecov.io/gh/sofastack/sofa-rpc)
![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)
[![Maven](https://img.shields.io/github/release/sofastack/sofa-rpc.svg)](https://github.com/sofastack/sofa-rpc/releases)
[![Percentage of issues still open](https://isitmaintained.com/badge/open/sofastack/sofa-rpc.svg)](https://isitmaintained.com/project/sofastack/sofa-rpc "Percentage of issues still open")
[![Open in CodeBlitz](https://img.shields.io/badge/Ant_Codespaces-Open_in_CodeBlitz-1677ff)](https://codeblitz.cloud.alipay.com/github/sofastack/sofa-rpc)

## Overview

SOFARPC is a high-performance, high-extensibility, production-level Java RPC framework. In Ant Financial, SOFARPC has been used for more than ten years and developing for five generations. SOFARPC is dedicated to simplify RPC calls between applications, and provide convenient, no code intrusion, stable, and efficient point-to-point remote service invocation solutions for applications. For user and developer easy to improve features, SOFARPC provides a wealth of model abstraction and extensible interfaces, including filter, routing, load balancing, and so on. At the same time, it provides a rich MicroService governance solution around the SOFARPC framework and its surrounding components.

![SOFARPC Architecture](./resource/sofa-rpc-architecture.png)

## Features

- No code intrusion, high-performance remote service call
- Supports multiple service routing and load balancing policies
- Supports multiple service registries
- Supports multiple protocols
- Supports multiple invoke type, such as synchronous, oneway, callback, generalized and more.
- Support cluster failover, service warm-up, automatic fault tolerance
- High extensibility for easy to improve features as needed

## Related Projects

- [sofa-rpc-boot-project](https://github.com/sofastack/sofa-rpc-boot-projects) SOFABoot projects for SOFARPC, include starter and samples.

## Requirements

Build-time requirement: JDK 8 or above and Maven 3.2.5 or above.

Runtime requirement: JDK 8 or above.

## Documents

- [Getting Started](https://www.sofastack.tech/sofa-rpc/docs/Getting-Started-With-SOFA-Boot?lang=en)
- [User Guide](https://www.sofastack.tech/sofa-rpc/docs/Programming?lang=en)
- [Developer Guide](https://www.sofastack.tech/sofa-rpc/docs/How-To-Build?lang=en)
- [Release Notes](https://www.sofastack.tech/sofa-rpc/docs/ReleaseNotes?lang=en)
- [Road Map](https://www.sofastack.tech/sofa-rpc/docs/RoadMap?lang=en)

## Contribution

[How to Contributing](https://www.sofastack.tech/sofa-rpc/docs/Contributing?lang=en)

## Contact Us

- **DingTalk Group**

DingTalk

## License

SOFARPC is licensed under the [Apache License 2.0](https://github.com/sofastack/sofa-rpc/blob/master/LICENSE), and SOFARPC uses some third-party components, you can view their open source license here [NOTICE](https://www.sofastack.tech/sofa-rpc/docs/NOTICE?lang=en).