7 付政委

已隐藏 Java研发工程师

微信公众号:bugstack虫洞栈 | 专注原创技术专题案例

等级
TA的排名 1w+

我与CSDN的故事《相遇、相知、相爱、相守》

相遇我与CSDN的故事,嗯!不是事故,就像它的拼音缩写CSDN={ChuangShangDengNi床上等你},七年前的那一天我就深深记住这个名字了,如今七年过去了,没有七年之痒的讨厌它,反而更加喜欢它。相识13年毕业的我,初识CSDN还是师姐课堂分享告诉我们的,我有小笔头偷偷的写在了我课本上《Java2实用教程(第三版)》,下课回到宿舍迅速打开http://csdn.net,那个晚上...

2019-10-11 13:07:06

netty案例,netty4.1源码分析篇三《Netty服务端初始化过程以及反射工厂的作用》

本章节主要分析Netty在启动过程中的配置内容以及最终调用bind方法是如何启动Netty服务端的。Netty服务启动模板代码privatevoidbing(intport){ //配置服务端NIO线程组 EventLoopGroupparentGroup=newNioEventLoopGroup();//NioEventLoopGroupextendsMulti...

2019-10-08 15:17:27

netty案例,netty4.1源码分析篇二《ServerBootstrap配置与绑定启动》

结合上一章节介绍NioEventLoopGroup,本章节继续介绍ServerBootstrap相关代码。启动NettyServer的模版代码privatevoidbing(intport){EventLoopGroupparentGroup=newNioEventLoopGroup();EventLoopGroupchildGroup=new...

2019-10-08 15:16:52

netty案例,netty4.1基础入门篇十一《netty udp通信方式案例Demo》

前言介绍在Netty通信中UDP的实现方式也非常简单,只要注意部分代码区别于TCP即可。本章节需要注意的知识点;NioDatagramChannel、ChannelOption.SO_BROADCASTInternet协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,UserDatagramProtocol)。UDP为应用程序提供了一种无需建立连接就可以发送封装的...

2019-10-08 15:11:45

netty案例,netty4.1基础入门篇零《初入JavaIO之门BIO、NIO、AIO实战练习》

前言介绍在Java中,提供了一些关于使用IO的API,可以供开发者来读写外部数据和文件,我们称这些API为JavaIO。IO是Java中比较重要知识点,且比较难学习的知识点。并且随着Java的发展为提供更好的数据传输性能,目前有三种IO共存;分别是BIO、NIO和AIO。JavaBIO[BlockingI/O]|同步阻塞I/O模式BIO全称Block-IO是一种同步且阻塞...

2019-10-06 18:56:06

基于jvmti定位java异常信息

背景描述JVMTI(JVMToolInterface)位于jpda最底层,是Java虚拟机所提供的native编程接口。JVMTI可以提供性能分析、debug、内存管理、线程分析等功能。JPDA定义了一个完整独立的体系,它由三个相对独立的层次共同组成,而且规定了它们三者之间的交互方式,或者说定义了它们通信的接口。这三个层次由低到高分别是Java虚拟机工具接口(JVMTI),Java...

2019-09-29 21:45:34

netty案例,netty4.1源码分析篇六《Netty异步架构监听类Promise源码分析》

分析Promise之前我们先来看两个单词;Promise、Future>Promisev.许诺;承诺;答应;保证;使很可能;预示Futuren.将来;未来;未来的事;将来发生的事;前景;前途;前程他们的含义都是对未来即将要发生的事情做相应的处理,这也是在异步编程中非常常见的类名。Netty是一个异步网络处理框架,在实现中大量使用了Future机制,并在Java自带Future的基础上,增加了Promise机制。这两个实现类的目的都是为了使异步编程更加方便使用。

2019-09-26 17:28:14

netty案例,netty4.1中级拓展篇十三《Netty基于SSL实现信息传输过程中双向加密验证》

前言介绍SSL(SecureSocketsLayer安全套接层),及其继任者传输层安全(TransportLayerSecurity,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。在实际通信过程中,如果不使用SSL那么信息就是明文传输,从而给非法分子一些可乘之机;窃听风险[eavesdropping]:第三方可以获知通信内容...

2019-09-23 21:22:47

netty案例,netty4.1源码分析篇五《一行简单的writeAndFlush都做了哪些事》

前言介绍对于使用netty的小伙伴来说,ctx.writeAndFlush()再熟悉不过了,它可以将我们的消息发送出去。那么它都执行了那些行为呢,是怎么将消息发送出去的呢。I/ORequestvia{@lin...

2019-09-20 23:17:51

netty案例,netty4.1中级拓展篇十二《Netty流量整形数据流速率控制分析与实战》

作者:付政委|关注微信公众号:bugstack虫洞栈,获取专题案例源码前言介绍你是否使用过某盘,在前几年我们使用的时候速度飞快,上传下载嗖嗖嗖。但是近年来只要不办会员,速度慢的像蜗牛,当然人家也得赚钱我们能理解。那么这样的限速是怎么实现的呢,我们这个案例使用Netty的流量整形进行限速传输,测试过程中当你把流量整形功能去掉后你就是年费VIP。流量整形(TrafficShaping...

2019-09-19 09:07:53

netty案例,netty4.1高级应用篇四,《基于Netty实践搭建的物联网网关iot-gatway》

作者:草非莫鱼|《物联网网关实战》|关注公众号:bugstack虫洞栈,回复iot-gateway获取案例源码前言介绍物联网平台框架网关设计图物联网平台是很大的一个摊子,在设计上,此次上传了关系设计图,业务框架设计图欠奉。在代码上,我目前也只是做了两版版网关,支持多规约;多规约组解服务,目前也只支持3761规约的组装和解析;接口做了一个框架,改了几版,开始就是提供ja...

2019-09-18 13:53:17

netty案例,netty4.1中级拓展篇十一《Netty基于ChunkedStream数据流切块传输》

前言介绍在Netty这种异步NIO框架的结构下,服务端与客户端通信过程中,高效、频繁、大量的写入大块数据时,因网络传输饱和的可能性就会造成数据处理拥堵、GC频繁、用户掉线的可能性。那么由于写操作是非阻塞的,所以即使没有写出所有的数据,写操作也会在完成时返回并通知ChannelFuture。当这种情况发生时,如果仍然不停地写入,就有内存耗尽的风险。所以在写大块数据时,需要对大块数据进行切割发送处理...

2019-09-18 09:22:28

netty案例,netty4.1源码分析篇一《NioEventLoopGroup源码分析》

本章节我们从一个基础构建的基础NettyServer来分析NioEventLoopGroup源码,其中包括了;EventLoopGroup事件循环组、NioEventLoopGroup异步事件循环组、MultithreadEventLoopGroup多线程事件循环组等。启动NettyServer的模版代码privatevoidbing(intport){ EventLoopGro...

2019-09-17 20:20:58

netty案例,netty4.1源码分析篇四《ByteBuf的数据结构在使用方式中的剖析》

前言介绍在Netty中ByteBuf是一个非常重要的类,它可以以高效易用的数据结构方式来满足网络通信过程中处理数据包内字节码序列的移动。数据结构+-------------------+------------------+------------------+|discardablebytes|readablebytes|writablebytes||...

2019-09-15 13:49:40

netty案例,netty4.1中级拓展篇十《Netty接收发送多种协议消息类型的通信处理方案》

前言介绍在我们实际做应用级开发的过程中,客户端与服务端需要发送多种消息类型,比如一个聊天室场景包括的消息类型;登录验证、组建群聊、发送消息、退出登录等等,但如果我们都是用统一对象加if判断来分别转换,那么对后期的维护成本就会非常大,这样的代码方式也不是一个面向对象开发的思维。面向对象的开发思路,经常会把很多if、switch等逻辑抽象成对应的接口和抽象类,以及加入工厂方式对服务进行动态编排。那...

2019-09-10 13:43:01

netty案例,netty4.1基础入门篇十二《简单实现一个基于Netty搭建的Http服务》

前言介绍Netty不仅可以搭建Socket服务,也可以搭建Http、Https服务。本章节我们通过一个简单的入门案例,来了解Netty搭建的Http服务,在我们后续的Netty网关服务中会使用到这样的功能点。超文本传输协议(HTTP,HyperTextTransferProtocol)是互联网上应用最为广泛的一种网络协议。在后端开发中接触HTTP协议的比较多,目前大部分都是基于Serv...

2019-09-09 20:30:40

netty案例,netty4.1中级拓展篇九《Netty集群部署实现跨服务端通信的落地方案》

前言介绍Netty的性能非常好,在一些小型用户体量的socket服务内,仅部署单台机器就可以满足业务需求。但当遇到一些中大型用户体量的服务时,就需要考虑讲Netty按照集群方式部署,以更好的满足业务诉求。但Netty部署集群后都会遇到跨服务端怎么通信,也就是有集群服务X和Y,用户A链接服务X,用户B链接服务Y,那么他们都不在一个服务内怎么通信?本章节将介绍一种实现方式案例,以满足跨服务之间的用...

2019-09-04 09:05:37

netty案例,netty4.1中级拓展篇八《Netty心跳服务与断线重连》

前言介绍在我们使用netty中,需要监测服务是否稳定以及在网络异常链接断开时候可以自动重连。需要实现监听;f.addListener(newMyChannelFutureListener())环境准备1、jdk1.8【jdk1.7以下只能部分支持netty】2、Netty4.1.36.Final【netty3.x4.x5每次的变化较大,接口类名也随着变化】代码示例itstack-...

2019-09-04 09:05:07

netty案例,netty4.1中级拓展篇七《Netty请求响应同步通信》

前言介绍在我们实现开发RPC框架的时候,需要选择socket的通信方式。而我们知道一般情况下socket通信类似与qq聊天,发过去消息,什么时候回复都可以。但是我们RPC框架通信,从感觉上类似http调用,需要在一定时间内返回,否则就会发生超时断开。这里我们选择netty作为我们的socket框架,采用future方式进行通信。Dubbo:国内最早开源的RPC框架,由阿里巴巴公司开发并于...

2019-09-04 09:03:44

netty案例,netty4.1基础入门篇十《关于ChannelOutboundHandlerAdapter简单使用》

前言介绍ChannelOutboundHandlerAdapter与ChannelInboundHandlerAdapter都是继承于ChannelHandler,并实现自己的ChannelXxxHandler。用于在消息管道中不同时机下处理处理消息。ChannelInboundHandler拦截和处理入站事件,ChannelOutboundHandler拦截和处理出站事件。ChannelH...

2019-08-28 21:54:06

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获取
  • 新人勋章
    新人勋章
    用户发布第一条Blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周上午根据用户上周周三的博文发布情况由系统自动颁发。