Coder Social home page Coder Social logo

netty-learning's Introduction

netty 学习

@author 鲁伟林
向开源致敬,向优秀前辈代码致敬。
Netty中大量使用NIO技术,满足高性能、高并发要求。进行初步研究,特作此项目。
源码地址:https://github.com/thinkingfioa/netty-learning

1.为什么要读Netty?

1.1 Netty 特性

1.2 子项目讲解

    1. netty-private-protocol ----- 基于Netty自定义私有协议的开发
    1. netty-in-action ----- 阅读《Netty实战》的笔记,记录诸多Netty的特性和自己的理解
    1. netty-rpc ----- 使用Netty实现RPC框架(待更新)
    1. netty-small-demo ----- 对Netty中的诸多特性,使用小的Demo讲解(待更新)

2 私有协议开发(netty-private-protocol)

netty-private-protocol是一个利用Netty实现自定义的协议开发,具有非常高的普世参考价值。参考了《Netty权威指南2》中第12章节。并做以下改进:

  • 1.《Netty权威指南2》中第12章节,讲解了关于私有协议栈开发。平时开发中具有参考价值,但书本中代码存在较多问题,本人基于文中代码进行调试,成功运行。
  • 2.实现了基本私有协议栈开发,并成功运行。在此基础上,比较多种编码和解码的速度。
  • 3.代码中实现了使用了多种编码和解码逻辑。其中有: Marshalling、Kryo、Protobuf、Thrift和messagePack。通过子项目可以学习基于Netty,实现多种编解码器技术。
  • 4.子项目文档地址

3. Netty实战

《Netty实战》是一本好书。讲解非常透彻,能帮助开发人员更好的理解和使用Netty。最近在读第二遍。推荐此书,讲的非常透彻。

    1. 总结书中多处知识点,方便开发人员理解和使用。同时添加多处自己的理解。如有错误,请指教
    1. 子项目文档地址
    1. 本书分成多个章节,发布于本人的博客专栏,欢迎各位指出不足之处。Netty专栏地址

4. RPC框架实现

基于Netty,实现基本RPC框架

5. Netty-Small-Demo

子项目Netty-Small-Demo介绍诸多使用Netty的小案例。都是实际开发中常用到的,具有代表性和实用性。如: ChannelHandler动态编排、AttributeMap的使用或ChannelPrimise等诸多Netty提供的特性。

6. Netty 源码学习

Netty源码研究

7. TODO LIST

    1. 动态编码ChannelHandler
    1. AttributeMap使用
    1. blog: Channel的理解。包括死锁问题
    1. udp项目
    1. Netty 接收缓冲区
    1. Netty实现RPC框架
    1. Netty.4x用户指南

参考文档

  • 1.《Netty权威指南2》

netty-learning's People

Contributors

thinkingfioa avatar yiyangtry avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.