高可用 高并发java中间件 有哪些

如题所述

我用的JAVA NIO,一般常用的高并发IO框架,也是用的这个做扩展。

Java NIO是在jdk1.4开始使用的,它既可以说成“新I/O”,也可以说成非阻塞式I/O。下面是java NIO的工作原理:

1. 由一个专门的线程来处理所有的 IO 事件,并负责分发。
2. 事件驱动机制:事件到的时候触发,而不是同步的去监视事件。
3. 线程通讯:线程之间通过 wait,notify 等方式通讯。保证每次上下文切换都是有意义的。减少无谓的线程切换。

Java NIO的服务端只需启动一个专门的线程来处理所有的 IO 事件,这种通信模型是怎么实现的呢?呵呵,我们一起来探究它的奥秘吧。java NIO采用了双向通道(channel)进行数据传输,而不是单向的流(stream),在通道上可以注册我们感兴趣的事件。一共有以下四种事件:

事件名 对应值
服务端接收客户端连接事件 SelectionKey.OP_ACCEPT(16)
客户端连接服务端事件 SelectionKey.OP_CONNECT(8)
读事件 SelectionKey.OP_READ(1)
写事件 SelectionKey.OP_WRITE(4)

服务端和客户端各自维护一个管理通道的对象,我们称之为selector,该对象能检测一个或多个通道 (channel) 上的事件。我们以服务端为例,如果服务端的selector上注册了读事件,某时刻客户端给服务端发送了一些数据,阻塞I/O这时会调用read()方法阻塞地读取数据,而NIO的服务端会在selector中添加一个读事件。服务端的处理线程会轮询地访问selector,如果访问selector时发现有感兴趣的事件到达,则处理这些事件,如果没有感兴趣的事件到达,则处理线程会一直阻塞直到感兴趣的事件到达为止。下面是我理解的java NIO的通信模型示意图:
温馨提示:内容为网友见解,仅供参考
无其他回答

java中间件平台有哪些?
在众多中间件平台中,Java领域提供了一系列强大的工具和平台,其中较为知名的包括方正飞鸿BPMES智能信息平台。此平台采用Java技术栈,支持.NET,实现了一种双版本无缝切换的快速开发模式,且提供了试用版本供用户体验。欲深入了解其功能和应用场景,建议访问其官方网站。Java作为广泛使用的编程语言,其生态系统...

常见的中间件有哪些
常见的中间件有:Apache Kafka、RabbitMQ、Redis、Nginx和Dubbo等。这些中间件主要被用于解决企业应用中的某些特定问题,提高系统的性能和稳定性。下面是关于这些中间件的 Apache Kafka是一种分布式流处理平台,主要用于构建实时数据管道和流应用。它提供了高吞吐量的消息传递功能,支持发布订阅模式和点对点消息...

常见的开源中间件有哪些
1.ApacheTomcatApacheTomcat是一个用于JavaWeb应用程序的开源中间件。它是一个Web容器,可以让开发人员从服务器上运行JavaServlet和JavaServerPagesWeb应用程序。Tomcat非常简单易用,在Java开发和部署领域中得到了广泛的应用。2.ApacheKafkaApacheKafka是一个基于发布\/订阅模式的消息传递系统。它可以处理高并发,...

网络云常用的中间件有哪些
1. 消息中间件:消息中间件主要用于实现异步通信,它允许应用组件之间通过消息传递进行交互,从而确保各组件间的松耦合。典型的消息中间件如Apache Kafka、RabbitMQ和ActiveMQ等,广泛应用于大数据处理、事件驱动架构和微服务等领域。以Apache Kafka为例,它提供了一个高吞吐量的分布式发布订阅消息系统,可以处...

中国国产中间件都有哪些?
四、金仓数据库中间件,是一个典型的国产数据库中间件产品,提供了跨平台的数据存储解决方案。该中间件实现了多种数据库之间的无缝连接,为企业级应用提供了稳定的数据访问服务。金仓数据库中间件支持大数据处理和高并发访问,为企业的数据处理和分析提供了可靠的技术保障。这些国产中间件产品在不同的应用...

RocketMq 基本扫盲
RocketMQ作为一款纯java、分布式、队列模型的开源消息中间件,支持事务消息、顺序消息、批量消息、定时消息、消息回溯等主流消息队列功能,具有简单易用、高吞吐量、高可靠性的特点。以下是RocketMQ的基本概念和关键功能。消息队列是一种用于进程间通信的组件,它通过队列传递控制或内容,提供群组通信的功能。在...

JAVA培训内容有哪些
3、Java web(Java web基础、JS、DOM操作、JSP\/Servlet、第三方工具包、Tomcat...)4、框架(网络原理、HTTP协议、Linux操作系统、云服务搭建、SSM框架应用、Oracle应用、Spring JPA、Hibernate...)5、高可用、高并发、高扩展(SpringBoot、缓存、分布式、插件、全文索引、服务中间件、消息中间件、云服务...

宝兰德bes中间件
宝兰德BES中间件是一款高性能、稳定且功能全面的中间件产品。宝兰德BES中间件作为公司的核心产品,通过自主研发的多项关键技术,实现了在处理能力、高可用性和稳定性等方面的卓越表现,达到了国内外一流水平。这款中间件遵循最新的JavaEE规范,支持多种行业技术标准,为企业级应用提供了可扩展性、可伸缩性和...

为什么有人说大部分码农做不了软件架构师?
高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的: 分布式架构原理 分布式架构策略 分布式中间件 分布式架构实战 四:微服务架构 业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢? 微服务框架 Spring Cloud Docker与虚拟化 微服务架构 五:性能...

应用中间件tomcat及v3系统部署实战
在Tomcat中,应用服务器启动、关闭和应用部署有详细的操作步骤和方法。另外,Tomcat日志提供系统运行状态和错误信息的记录。Nginx是一款高性能的Web服务器,可以提升访问速度、实现负载均衡和高可用性。Nginx具有跨平台、配置简单、非阻塞、高并发连接、内存消耗小等优点。其代理原理是接收用户请求后一次性发送到...

相似回答