Finagle

一个容错的、协议无关的RPC系统。(A fault tolerant, protocol-agnostic RPC system.)

Github stars Tracking Chart

Finagle是JVM的可扩展RPC系统,用于构建高并发服务器。 Finagle为多个协议实现统一的客户端和服务器API,旨在实现高性能和并发性。 Finagle的大部分代码与协议无关,简化了新协议的实现。\r\n

Finagle是用Scala编写的,但提供Scala和Java惯用API。
\r\n

Finagle使用基于 Futures 的干净、简单和安全的并发编程模型。 这导致安全和模块化的程序也很简单的原因。
\r\n

Finagle客户端和服务器公开监控和诊断统计信息。 它们也可以通过类似于Dapper(另一个Twitter开源项目Zipkin,提供跟踪聚合和可视化)的机制来追溯。

Overview

Name With Ownertwitter/finagle
Primary LanguageScala
Program languageScala (Language Count: 9)
Platform
License:Apache License 2.0
Release Count133
Last Release Namefinagle-24.5.0 (Posted on )
First Release Nameversion-1.0.9 (Posted on 2010-12-22 10:52:11)
Created At2010-10-19 22:10:09
Pushed At2024-05-07 20:17:55
Last Commit At
Stargazers Count8.8k
Watchers Count557
Fork Count1.4k
Commits Count8.2k
Has Issues Enabled
Issues Count412
Issue Open Count55
Pull Requests Count33
Pull Requests Open Count3
Pull Requests Close Count512
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

Finagle

Build status
Codecov
Project status
Gitter
Maven Central

Status

This project is used in production at Twitter (and many other organizations), and is being actively developed and maintained.

Releases

Releases
are done on an approximately monthly schedule. While semver
is not followed, the changelogs are detailed and include sections on
public API breaks and changes in runtime behavior.

Getting involved

Finagle is an extensible RPC system for the JVM, used to construct
high-concurrency servers. Finagle implements uniform client and server APIs for
several protocols, and is designed for high performance and concurrency. Most of
Finagle’s code is protocol agnostic, simplifying the implementation of new
protocols.

For extensive documentation, please see the
user guide and
API documentation
websites. Documentation improvements are always welcome, so please send patches
our way.

Adopters

The following are a few of the companies that are using Finagle:

For a more complete list, please see
our adopter page.
If your organization is using Finagle, consider adding a link there and sending
us a pull request!

Contributing

We feel that a welcoming community is important and we ask that you follow Twitter's
Open Source Code of Conduct
in all interactions with the community.

The master branch of this repository contains the latest stable release of
Finagle, and weekly snapshots are published to the develop branch. In general
pull requests should be submitted against develop. See
CONTRIBUTING.md
for more details about how to contribute.

To the top