StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Product

  • Stacks
  • Tools
  • Companies
  • Feed

Company

  • About
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2025 StackShare. All rights reserved.

API StatusChangelog
Netty
ByNettyNetty

Netty

#107in Frameworks
Discussions2
Followers408
OverviewDiscussions2

What is Netty?

Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.

Netty is a tool in the Frameworks category of a tech stack.

Netty Pros & Cons

Pros of Netty

  • ✓High Performance
  • ✓Easy to use
  • ✓Just like it
  • ✓Easy to learn

Cons of Netty

  • ✗Limited resources to learn from

Netty Alternatives & Comparisons

What are some alternatives to Netty?

RxJS

RxJS

RxJS is a library for reactive programming using Observables, to make it easier to compose asynchronous or callback-based code. This project is a rewrite of Reactive-Extensions/RxJS with better performance, better modularity, better debuggable call stacks, while staying mostly backwards compatible, with some breaking changes that reduce the API surface.

Akka

Akka

Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM.

Tokio

Tokio

It is an open source library providing an asynchronous, event driven platform for building fast, reliable, and lightweight network applications. It leverages Rust's ownership and concurrency model to ensure thread safety.

Redux Observable

Redux Observable

It allows developers to dispatch a function that returns an observable, promise or iterable of action(s). Compose and cancel async actions to create side effects and more.

Finagle

Finagle

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.

Orleans

Orleans

Orleans is a framework that provides a straightforward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns. It was created by Microsoft Research and designed for use in the cloud.

Netty Integrations

Quarkus, Armeria, Helidon are some of the popular tools that integrate with Netty. Here's a list of all 3 tools that integrate with Netty.

Quarkus
Quarkus
Armeria
Armeria
Helidon
Helidon

Netty Discussions

Discover why developers choose Netty. Read real-world technical decisions and stack choices from the StackShare community.

Joshua Dean Küpper
Joshua Dean Küpper

CEO at Scrayos UG (haftungsbeschränkt)

Jul 26, 2020

Needs adviceonGraphQLGraphQLNettyNettyRedisRedis

We use GraphQL for the communication between our Minecraft-Proxies/Load-Balancers and our global Minecraft-Orchestration-Service JCOverseer.

This connection proved to be especially challenging, as there were so many available options and very specific requirements and we tried our hardest to put as little complexity into this interface as possible.

Initially we considered designing our very own Netty based Packet-Protocol. While the performance of this approach probably would've been noteworthy, we would have had to write a lot of packets as the individual payloads would differ a lot and for the protocol specification a new project would've been needed, so we scrapped that idea.

Our second idea was to use a combination of Redis Key/Value store (in particular the ability to write whole, complex sets as the values of keys) for existing data, Redis Pub-Sub for the synchronization of new/changed/deleted data and a Vert.x based REST API for the mutation requests of the clients. While this would certainly have been possible, we decided against it, as redis offers no real other data types than strings and typing was important to us.

So we finally settled for GraphQL as it would allow us to define dynamic queries and mutations and additionally has subscriptions in store, so we would only need one component instead of three separate. The proxies register as subscribers to the server changes channel and fetch the current data set in advance. If they need to request changes, this is done through a mutation in GraphQL aswell.

The status of the invidiual servers is fetched through Docker healthchecks and a Docker client in the orchestration service, that subscribes to changed HEALTHINESS values in docker. If a service becomes unhealthy it is unregistered and synchronized through GraphQL. The healthcheck is comparable to a ping packet that expects a response in a given time frame.

0 views0
Comments
Joshua Dean Küpper
Joshua Dean Küpper

CEO at Scrayos UG (haftungsbeschränkt)

Mar 14, 2019

Needs adviceonNettyNetty

We use Netty because it is THE defacto-standard for asynchronous network communication in Java and it excels at the flexible pipeline design and the great thread architecture.

We use Netty for the communication between our servers (Spigot), servers and proxies (Spigot and BungeeCord) aswell as proxies und our global overseer-instance. Finally we also use it for the java-side of our website-overseer-communication.

0 views0
Comments

Try It

Visit Website

Adoption

On StackShare

Companies
33
PGAOAR+27
Developers
218
AJOTVR+212