JVM Networking
with Netty
Michael Nitschinger, Couchbase, Inc.
High Performance!
Slide 2
Slide 2 text
No content
Slide 3
Slide 3 text
“Netty is an asynchronous and
event-driven network application
framework for rapid development
of maintainable high
performance protocol servers &
clients.“
Slide 4
Slide 4 text
“Netty is an asynchronous and
event-driven network application
framework for rapid development
of maintainable high
performance protocol servers &
clients.“
Magic
(1)
Opcode
(1)
Key Length
(2)
Extras Length
(1)
Data Type
(1)
Status
(2)
Total Body Length
(4)
Opaque
(4)
CAS
(8)
Memcached Binary Header (24 Bytes)
Why?
Efficient EventLoop/Socket Multiplexing
GC Optimized
Less Allocations
Pooling
Statics & Reuse
Selected use of sun.misc.Unsafe
Lots of “Mechanical Sympathy”
Slide 34
Slide 34 text
Why?
Efficient EventLoop/Socket Multiplexing
GC Optimized
Less Allocations
Pooling
Statics & Reuse
Selected use of sun.misc.Unsafe
Lots of “Mechanical Sympathy”
Slide 35
Slide 35 text
Why?
Efficient EventLoop/Socket Multiplexing
GC Optimized
Less Allocations
Pooling
Statics & Reuse
Selected use of sun.misc.Unsafe
Lots of “Mechanical Sympathy”
Make Norman Rich!
https://www.manning.com/books/netty-in-action
Slide 45
Slide 45 text
Start Here
Web netty.io
IRC #netty on Freenode
Mailing List groups.google.com/forum/#!forum/netty
StackOverflow “netty” tag
Bugs github.com/netty/netty/issues
Slide 46
Slide 46 text
Thanks!
Michael Nitschinger, Couchbase, Inc.
twitter: @daschl