`
gaojingsong
  • 浏览: 1210773 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【JAVA之Grizzly 介绍】

阅读更多

Writing scalable server applications in the Java™ programming language has always been difficult. Before the advent of the Java New I/O API (NIO), thread management issues made it impossible for a server to scale to thousands of users. The Grizzly NIO framework has been designed to help developers to take advantage of the Java™ NIO API. Grizzly’s goal is to help developers to build scalable and robust servers using NIO as well as offering extended framework components: Web Framework (HTTP/S), WebSocket, Comet, and more!




Core Framework

Memory Management

I/O Strategies

Transports and Connections

FilterChain and Filters

Core Configuration

Port Unification

Monitoring

Best Practices

Quick Start

Samples

 

 

HTTP Components

Core HTTP Framework

HTTP Server Framework

HTTP Server Framework Extras

Comet

JAXWS

WebSockets

AJP

MAIN

 



 

核心框架

内存管理:Grizzly2.0引入了以可以在运行时(runtime)提高内存管理的子系统。该子系统包括三个主要构件:

缓冲区(Buffers)

ThreadLocal的内存池(ThreadLocal memory pools)

MemoryManager作为一个实用缓冲区和内存池工厂

I/O策略:通常我们使用一下两种方处理特定的NIO事件:在接收到的线程直接处理(Same-thread)或者交给工作线程处理(Worker-thread)。

Worker-thread IOStrategy

Same-thread IOStrategy

动态IOStrategy

Leader-follower IOStrategy

传输和连接:Transport和Connection是Grizzly2.3的核心网络API。

Transport定义了网络传输方式如TCP、UDP,包括相关资源(线程池、内存管理器等)和嵌套连接的缺省配置。

Connection在Grizzly2.3代表一个TCP或UDP的单一网络连接(很像socket)。

Transport和Connection是一对多的关系。

过滤器链和过滤器:过滤器链顾名思义就是多个过滤器组成链。每个过滤器表示一个要执行的处理单元,用于检查并(或)修改由FilterChainContext表示的一个事务的状态。

核心配置:核心框架配置的要点是Transport实例及其相关线程池。

端口统一:有时由于某些管理限制我们只能使用一个端口来发布多个服务,根据请求重定向到相应服务。Grizzly中的“端口统一”就是这个问题的解决方案。

监控:Grizzly提供了监控框架内部关键组件的功能,且允许通过自定义扩展监控组件。

 

HTTP组件

核心HTTP框架:Grizzly2.3 HTTP框架提供了服务器和客户端的编解码HTTP请求响应数据的功能。除了编解码器本身,框架还包括基本HTTP原语和简化协议相关工作的工具类。

HTTP服务器框架

简单的服务器API使Grizzly可以轻松嵌入应用程序。

类似Servlet规范的抽象:HttpHandler (Servlet), Request (HttpServletRequest), Response (HttpServletResponse)。

通过响应挂起/恢复机制提供处理长时间运行的HTTP事务的能力。

支持非阻塞IO流。

静态内容的使用文件缓存。

HTTP服务器框架扩展

Comet

JAXWS:从2.1.2版本开始Grizzly通过HTTP服务器框架支持JAX-WS web服务。

WebSockets:Grizzly实现了RFC 6455的要求,同时也支持此协议的旧版本。这对于没有实现最终草案规范的客户端很有用。

AJP:从2.1版本开始Grizzly开始支持AJP1.3。

SPDY:从2.3版本开始Grizzly支持SPDY/3。SPDY的目标是降低网页加载时间。

  • 大小: 99.7 KB
  • 大小: 361.2 KB
0
0
分享到:
评论

相关推荐

    grizzly

    Grizzly是Java平台上的一个组件,它提供了一组灵活且强大的API,可以用于处理HTTP、WebSocket等网络协议。这个框架在设计时考虑了低级I/O操作的性能优化,使其成为开发高并发网络应用的理想选择。 在描述中提到的...

    Grizzly_Architecture

    - Grizzly在设计之初就考虑到了性能问题,因此它不仅提供了强大的功能,还特别注重性能优化。 - 通过高效的缓冲区管理和多线程处理能力,Grizzly能够在高并发环境下保持良好的响应速度。 #### 三、Grizzly框架...

    grizzly-websockets-2.3.4.zip

    通过阅读和学习这些源代码,我们可以掌握如何将Riak PB集成到Grizzly WebSockets或其他Java应用中,实现自定义的通信协议,从而提升系统的整体性能。 总的来说,Grizzly WebSockets 2.3.4和Riak PB都是开源项目,...

    grizzly-websockets-chat-2.3.zip

    Grizzly是Java的一个开源网络应用框架,特别适用于构建高性能、轻量级的服务器端应用。WebSocket协议则是一种在Web上实现实时通信的技术,它允许服务器和客户端进行双向、全双工的数据传输。 描述中的"osgi-kernel....

    benchmark-web-frameworks:SparkJava vs Grizzly vs Golang的nethttp

    SparkJava vs Grizzly vs golang 的 net/http 如何构建 对于Java项目 $ mvn 干净编译 $ mvn exec:java Spark 应用程序正在 URL 上运行 - http://localhost:4567/fib/10 Grizzly 应用程序在 URL 上运行 - ...

    grizzly-http-server-monitoring-2.3.9.zip

    Grizzly 是一个高性能、轻量级的Java网络应用框架,主要用于构建HTTP服务器、Servlet容器和其他网络服务。监控组件允许开发者实时查看和分析服务器的运行状态,如请求处理速度、资源消耗等,从而优化系统性能和稳定...

    grizzly-http-samples-2.3.13.zip

    Grizzly是Java的一个高性能、轻量级的网络应用框架,由Oracle公司开发,常用于构建HTTP服务器、WebSocket服务器和其他网络服务。 【描述】提及的"lift-jquery-module.zip"则是一个与 Lift Web 框架相关的jQuery模块...

    grizzly-framework-monitoring-2.3.14.zip

    本文将重点探讨 Grizzly 框架中的 JMX (Java Management Extensions) 监控工具 JmxUtils,以及如何通过它来轻松导出 JMX MBean。 JMX 是 Java 平台提供的一种标准管理框架,它允许开发者创建、注册和管理 MBeans...

    grizzly-http-webserver-1.9.59.zip

    1. **异步处理**:Grizzly支持非阻塞I/O模型,利用Java NIO(非阻塞输入/输出)库,可以处理大量并发连接,提高了服务器的吞吐量和响应速度。 2. **模块化设计**:Grizzly由一系列可组合的过滤器和处理器组成,...

    Tricks and Tips With NIO Using the Grizzly Framework

    接下来,我们会简单介绍Java NIO包的基础知识,并呈现我们在实施Project Grizzly时所学到的一些高效使用Java NIO的技术和策略。 #### Java NIO概述 Java NIO (New I/O) 是Java SE 1.4版本引入的一个新特性,它提供...

    grizzly-http-servlet-extras-2.3.8-beta1.zip

    Grizzly是Oracle公司提供的一个开源Java网络应用服务器框架,它主要设计用于构建高性能、轻量级的HTTP服务器和Web应用程序。Grizzly HTTP Servlet Extras是Grizzly框架的一个扩展,它为Servlet API提供了额外的功能...

    grizzly初探

    在 Java 社区中,Grizzly 以其灵活性和强大的功能而备受推崇,尤其适用于处理大量的并发连接。 **NIO基础** 在深入 Grizzly 之前,我们先理解一下 Java 中的 NIO(Non-blocking Input/Output)。传统的 Java IO ...

    grizzly-http-ajp-2.3.10.zip

    3. **Maven**:Maven 是一个项目管理和综合工具,它通过一套标准化的构建过程和依赖管理,帮助 Java 开发者管理项目生命周期。Maven 可以生成各种格式的软件包,包括 DEB 文件。 4. **DEB 软件包和 APT 存储库**:...

    eclipse-maven-jersey demo2

    这个教程将帮助开发者了解如何配置Maven、Eclipse以及Jersey,以便在Java Web应用程序中开发和测试API。 【描述】中提到,该实例详细阐述了如何从零开始建立一个Maven Web项目,然后集成Jersey以提供RESTful服务。...

    grizzly-http-server-2.2.21.zip

    Grizzly HTTP Server 是一个开源的、高性能的网络应用框架,由Java开发,主要用于构建基于HTTP/1.1协议的服务器和应用程序。版本2.2.21是该服务器的一个稳定版本,提供了许多功能和性能改进。 【描述】...

    java开源包4

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包101

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包6

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

    java开源包9

    6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不...

Global site tag (gtag.js) - Google Analytics