armeria - Asynchronous RPC/REST library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC

  •        449

Visit the official web site for more information.Armeria is an open-source asynchronous RPC/API client/server library built on top of Java 8, Netty 4.1, HTTP/2, Thrift and gRPC. Its primary goal is to help engineers build high-performance asynchronous microservices that use HTTP/2 as a session layer protocol.

https://line.github.io/armeria/
https://github.com/line/armeria

Tags
Implementation
License
Platform

   




Related Projects

hyperf - 🚀 A coroutine framework that focuses on hyperspeed and flexibility

  •    PHP

Hyperf is an extremely performant and flexible PHP CLI framework based on Swoole 4.5+, powered by the state-of-the-art coroutine server and a large number of battle-tested components. Aside from the decisive benchmark outmatching against PHP-FPM frameworks, Hyperf also distinct itself by its focus on flexibility and composability. Hyperf ships with an AOP-enabling dependency injector to ensure components and classes are pluggable and meta programmable. All of its core components strictly follow the PSR standards and thus can be used in other frameworks. Hyperf's architecture is built upon the combination of Coroutine, Dependency injection, Events, Annotation, AOP (aspect-oriented programming). Core components provided by Hyperf can be used out of the box in coroutine context. The set includes but not limited to: MySQL coroutine client, Redis coroutine client, WebSocket server and client, JSON RPC server and client, gRPC server and client, Zipkin/Jaeger (OpenTracing) client, Guzzle HTTP client, Elasticsearch client, Consul client, ETCD client, AMQP component, Apollo configuration center, Aliyun ACM, ETCD configuration center, Token bucket algorithm-based limiter, Universal connection pool, Circuit breaker, Swagger, Swoole Tracker, Snowflake, Simply Redis MQ, RabbitMQ, NSQ, Nats, Seconds level crontab, Custom Processes, etc. Be assured Hyperf is still a PHP framework. You will also find familiar packages such as Middleware, Event Manager, Coroutine optimized Eloquent ORM (And Model Cache!), Translation, Validation, View engine (Blade/Smarty/Twig/Plates/ThinkTemplate) and more at your command.

nrpc - nRPC is like gRPC, but over NATS

  •    Go

nRPC is an RPC framework like gRPC, but for NATS. It can generate a Go client and server from the same .proto file that you'd use to generate gRPC clients and servers. The server is generated as a NATS MsgHandler.

gRPC-Java - The Java gRPC implementation. HTTP/2 based RPC

  •    Java

In gRPC a client application can directly call methods on a server application on a different machine as if it was a local object, making it easier for you to create distributed applications and services. As in many RPC systems, gRPC is based around the idea of defining a service, specifying the methods that can be called remotely with their parameters and return types.

grpc-kotlin

  •    Kotlin

A Kotlin/JVM implementation of gRPC: A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. protoc-gen-grpc-kotlin: A protoc plugin for generating Kotlin gRPC client-stub and server plumbing code.


Micro - Distributed Cloud OS

  •    Go

Micro is an operating system built for the cloud. It addresses the key requirements for building services in the cloud. It leverages the microservices architecture pattern and provides a set of services which act as the building blocks of a platform. Micro deals with the complexity of distributed systems and provides simpler programmable abstractions to build on.

Resgate - A Realtime API Gateway used with NATS to build REST, real time, and RPC APIs, where all your clients are synchronized seamlessly.

  •    Go

Resgate is a Go project implementing a realtime API gateway for the RES protocol with NATS server as messaging system. It is a simple server that lets you create REST, real time, and RPC APIs, where all your clients are synchronized seamlessly.

Dubbo - High-performance, java based, open source RPC framework

  •    Java

Dubbo is a high-performance, java based RPC framework open-sourced by Alibaba. As in many RPC systems, dubbo is based around the idea of defining a service, specifying the methods that can be called remotely with their parameters and return types. On the server side, the server implements this interface and runs a dubbo server to handle client calls. On the client side, the client has a stub that provides the same methods as the server.

go-thrift - A native Thrift package for Go

  •    Go

3-clause BSD. See LICENSE file. Thrift is an IDL that can be used to generate RPC client and server bindings for a variety of languages. This package includes client and server codecs, serialization, and code generation for Go. It tries to be a more natural mapping to the language compared to other implementations. For instance, Go already has the idea of a thrift transport in the ReadWriteCloser interfaces.

go-micro - A pluggable RPC framework for microservices

  •    Go

Go Micro is a pluggable RPC framework for microservices. It is part of the Micro toolkit.The Micro philosophy is sane defaults with a pluggable architecture. We provide defaults to get you started quickly but everything can be easily swapped out. It comes with built in support for {json,proto}-rpc encoding, consul or multicast dns for service discovery, http for communication and random hashed client side load balancing.

MagicOnion - gRPC based HTTP/2 RPC Streaming Framework for .NET, .NET Core and Unity.

  •    CSharp

gRPC based HTTP/2 RPC Streaming Framework for .NET, .NET Core and Unity.for .NET 4.6, 4.7 and .NET Standard 1.5(.NET Core) available in NuGet. Unity supports see Unity Supports section. HttpGateway + Swagger Intergarion supports see Swagger section.

grpc-dotnet - gRPC for .NET

  •    CSharp

gRPC is a modern, open source, high-performance remote procedure call (RPC) framework that can run anywhere. gRPC enables client and server applications to communicate transparently, and simplifies the building of connected systems. For more information, see An introduction to gRPC on .NET.

grpcurl - Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers

  •    Go

grpcurl is a command-line tool that lets you interact with gRPC servers. It's basically curl for gRPC servers. The main purpose for this tool is to invoke RPC methods on a gRPC server from the command-line. gRPC servers use a binary encoding on the wire (protocol buffers, or "protobufs" for short). So they are basically impossible to interact with using regular curl (and older versions of curl that do not support HTTP/2 are of course non-starters). This program accepts messages using JSON encoding, which is much more friendly for both humans and scripts.

grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC

  •    Go

The Go implementation of gRPC: A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. For more information see the gRPC Quick Start: Go guide.This requires Go 1.7 or later.

node-xmlrpc - A pure JavaScript XML-RPC client and server for Node.js.

  •    Javascript

The xmlrpc module is a pure JavaScript XML-RPC server and client for node.js. Pure JavaScript means that the XML parsing and XML building use pure JavaScript libraries, so no extra C dependencies or build requirements. The xmlrpc module can be used as an XML-RPC server, receiving method calls and responding with method responses, or as an XML-RPC client, making method calls and receiving method responses, or as both.

duplex - Full duplex modern RPC

  •    Python

Duplex is an RPC protocol designed for dynamic (and some statically-typed) languages that focuses on advanced RPC semantics and not object or frame serialization. This lets you pick how to marshal objects, whether with JSON, msgpack, protobuf, BERT, BSON, or anything custom.While that alone is somehow already revolutionary for RPC protocols, it also combines client and server into a peer object, letting either side of the connection call or provide invocable service methods. This means you never have to worry about only having a client or only having a server library in your language. It also allows for flexible connection topologies (server calling client functions), callbacks, and plugin architectures.

hprose-php - Hprose is a cross-language RPC. This project is Hprose 2.0 for PHP

  •    PHP

Hprose is a High Performance Remote Object Service Engine.It is a modern, lightweight, cross-language, cross-platform, object-oriented, high performance, remote dynamic communication middleware. It is not only easy to use, but powerful. You just need a little time to learn, then you can use it to easily construct cross language cross platform distributed application system.

hprose-golang - Hprose is a cross-language RPC. This project is Hprose 2.0 for Golang.

  •    Go

Hprose is a High Performance Remote Object Service Engine.It is a modern, lightweight, cross-language, cross-platform, object-oriented, high performance, remote dynamic communication middleware. It is not only easy to use, but powerful. You just need a little time to learn, then you can use it to easily construct cross language cross platform distributed application system.

hprose-java - Hprose is a cross-language RPC. This project is Hprose 2.0 for Java

  •    Java

Hprose is a High Performance Remote Object Service Engine. It is a modern, lightweight, cross-language, cross-platform, object-oriented, high performance, remote dynamic communication middleware. It is not only easy to use, but powerful. You just need a little time to learn, then you can use it to easily construct cross language cross platform distributed application system. Hprose supports many programming languages, for example: * AAuto Quicker * ActionScript * ASP * C++ * Dart * Delphi/Free Pascal * dotNET(C#, Visual Basic...) * Golang * Java * JavaScript * Node.js * Objective-C * Perl * PHP * Python * Ruby * ... Through Hprose, You can conveniently and efficiently intercommunicate between those programming languages. This project is the implementation of Hprose for Java.

Luxun - A high-throughput, persistent, distributed, publish-subscribe messaging system based on memo

  •    Java

A high-throughput, persistent, distributed, publish-subscribe messaging system based on memory mapped file and Thrift RPC.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.