Ecosyste.ms: Packages

An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 1.7% on proxy.golang.org
Top 0.4% dependent packages on proxy.golang.org
Top 0.6% dependent repos on proxy.golang.org
Top 2.8% forks on proxy.golang.org
Top 1.8% docker downloads on proxy.golang.org

proxy.golang.org : go.uber.org/yarpc

Package yarpc provides the YARPC service framework. With hundreds to thousands of services communicating with RPC, transport protocols (like HTTP and TChannel), encoding protocols (like JSON or Thrift), and peer choosers are the concepts that vary year over year. Separating these concerns allows services to change transports and wire protocols without changing call sites or request handlers, build proxies and wire protocol bridges, or experiment with load balancing strategies. YARPC is a toolkit for services and proxies. YARPC breaks RPC into interchangeable encodings, transports, and peer choosers. YARPC for Go provides reference implementations for HTTP/1.1, TChannel and gRPC transports, and also raw, JSON, Thrift, and Protobuf encodings. YARPC for Go provides a round robin peer chooser and experimental implementations for debug pages and rate limiting. YARPC for Go plans to provide a load balancer that uses a least-pending-requests strategy. Peer choosers can implement any strategy, including load balancing or sharding, in turn bound to any peer list updater. Regardless of transport, every RPC has some common properties: caller name, service name, procedure name, encoding name, deadline or TTL, headers, baggage (multi-hop headers), and tracing. Each RPC can also have an optional shard key, routing key, or routing delegate for advanced routing. YARPC transports use a shared API for capturing RPC metadata, so middleware can apply to requests over any transport. Each YARPC transport protocol can implement inbound handlers and outbound callers. Each of these can support different RPC types, like unary (request and response) or oneway (request and receipt) RPC. A future release of YARPC will add support for other RPC types including variations on streaming and pubsub.

Registry - Source - Documentation - JSON
purl: pkg:golang/go.uber.org/yarpc
Keywords: go, grpc, message-passing, microservices, protobuf, rpc, thrift, yarpc
License: MIT
Latest release: 5 months ago
First release: over 7 years ago
Namespace: go.uber.org
Dependent packages: 110
Dependent repositories: 87
Stars: 380 on GitHub
Forks: 87 on GitHub
Docker dependents: 11
Docker downloads: 186
See more repository details: repos.ecosyste.ms
Last synced: 5 days ago

    Loading...
    Readme
    Loading...