Java NIO通信框架在电信领域的实践

Java NIO通信框架在电信领域的实践

此文配图有错,华为电信软件V1版逻辑架构图与华为电信软件V2 MVC版逻辑架构图两张配图是同一张啊

另:我觉得作者在本文中遇到由于同步io引起的历史遗留问题更多的是架构的问题,在作架构时就需要考虑到同步io引起的阻塞问题,我觉得比较好的解决方案是使用排队的方式来下发请求,而不是每次下发请求都启一个线程,这样如果对方还是响应慢的话即使是用nio也是解决不了问题的。

时间: 2024-12-31 18:49:59

Java NIO通信框架在电信领域的实践的相关文章

高性能NIO通信框架之Netty入门(一)

一.不选择Java原生NIO编程的原因(1)NIO的类库和API复杂,使用麻烦,你需要熟练掌握Selector.ServerSocketChannel.SocketChannel.ByteBuffer等(2)需要具备其他的额外技能做铺垫,例如熟悉Java多线程编程.这是因为NIO编程涉及到Reactor模式,你必须对多线程和网络编程非常熟悉,才能编写出高质量NIO程序.(3)可靠性能力补齐,工作量和难度都非常大.例如客户端面临断链重连.网络闪断.半包读写.失败缓存.网络拥塞和异常码流的处理等问题

java nio 网络框架

https://github.com/solq360/common 主要运行在android 平台 解决自动化编/解码,等等.. 模块 解决问题/实现处理 备注 负责人 进度 录音播放 AudioRecord 和 AudioTrack 熟悉录音处理接口 solq 进行中 声音编码 第三方库 处理燥音,回音,压缩等     通信 jdk nio 实现 移动网socket编程是否稳定   进行中 ioc java 反射技术   solq 进行中 event     solq 进行中 资源管理 程序配

java nio 网络框架实现(转)

maven项目https://github.com/solq360/common 链式编/解码 链路层链式处理 管道管理socket 多协议处理非常方便 仿netty NioEventLoop 单线程串行处理 ========侍加功能 : 自动化编/解码 rpc 接口增强使用 简单聊天例子 server TestNioServer //创建session管理工厂 ISessionFactory sessionFactory = new SessionFactory(); //创建编/解码管理 I

高性能NIO通信框架之Netty(4)ChannelHandler分析

一.ChannelHandler的功能说明 ChannelHandler类似Servlet的Filter过滤器,负责对I/O事件或者I/O操作进行拦截和处理,它可以选择性地拦截和处理自己感兴趣的事件,也可以透传和终止事件的传递. ChannelHandler支持注解,目前就支持两种注解: 1)@Sharable :多个ChannelPipeline公用一个ChannelHandler 2)@Skip:被Skip注解的方法不会被调用,直接被忽略 @Target({ElementType.METHO

BIO & NIO & NIO常见框架

BIO & NIO BIO - Blocking IO - 同步式阻塞式IO --- UDP/TCP NIO - New  IO - 同步式非阻塞式IO AIO  - AsynchronousIO - 异步式非阻塞式IO - jdk1.8 BIO的缺点: 1.会产生阻塞行为 --- receive/accept/connect/read/write 2.一对一的连接:每连接一个客户端,在服务器端就需要开启一个线程去处理请求.在客户端较多的情况下,服务器端就会产生大量的线程 - 耗费内存 3.连接

java NIO socket 通信实例

java Nio 通信与Bio通信主要不同点: 1.Nio中的单个channel即可支持读操作也可以支持写操作,而bio中读操作要用inputstream,写操作要outputstream. 2.nio 采用byteBuffer 作为内存缓存区,向channel里写或者度操作,bio基本是用byte[] 3.nio采用 selector组件轮询读取就绪channel 服务端demo代码: package com.my.socket3; import java.io.ByteArrayOutput

Java Se : Java NIO(服务端)与BIO(客户端)通信

Java目前有三种IO相关的API了,下面简单的说一下: BIO,阻塞IO,最常用的Java IO API,提供一般的流的读写功能.相信学习Java的人,都用过. NIO,非阻塞IO,在JDK1.4中开始出现,大量应用与服务器端编程,用于提高并发访问的性能,常用的NIO框架有Netty,Mina. AIO,异步IO,在JDK1.7开始出现.还没有了解过,等以后了解了再说. 阻塞.非阻塞,同步.异步 在写这篇文章前,在网上了解了一下,其中争议最的问题要数阻塞.非阻塞怎么理解,异步.同步怎么理解.

Java NIO框架Netty教程(一) – Hello Netty

先啰嗦两句,假设你还不知道Netty是做什么的能做什么.那能够先简单的搜索了解一下.我仅仅能说Netty是一个NIO的框架,能够用于开发分布式的Java程序.详细能做什么,各位能够尽量发挥想象.技术,是服务于人而不是局限住人的. 假设你已经万事具备,那么我们先从一段代码開始.程序猿们习惯的上手第一步,自然是"Hello world",只是Netty官网的样例却偏偏抛弃了"Hello world".那我们就自己写一个最简单的"Hello world"

Java NIO框架Netty课程(一) – Hello Netty

首先啰嗦2.假如你不知道Netty怎么办怎么办.它可以是一个简单的搜索,找出.我只能说Netty是NIO该框架,它可用于开发分布式Java计划.详细情况可以做,我们可以尝试用你的想象力. 技术.它是服务于人,而不是人活的局限性. 经万事具备,那么我们先从一段代码開始. 程序猿们习惯的上手第一步,自然是"Hello world".只是Netty官网的样例却偏偏抛弃了"Hello world". 那我们就自己写一个最简单的"Hello world"的