Okra 是一个构建在 Netty 框架和 Disruptor 框架之上轻量级 JAVA 服务器框架。 使用 Netty 实现高性能,可灵活扩展的网络通信,使用 Disruptor 实现高吞吐量,低延迟的并发。
点击阅读Okra框架(四) 使用引导说明
Okra 是一个构建在 Netty 框架和 Disruptor 框架之上轻量级 JAVA 服务器框架。 使用 Netty 实现高性能,可灵活扩展的网络通信,使用 Disruptor 实现高吞吐量,低延迟的并发。
如何将 Okra 应用到实际开发中?
本文旨在帮助初次接触 Okra 框架的用户上手使用 Okra 框架.
1. 下载 Okra-x.y.z.jar
首先我们需要下载 Okra 框架最新的稳定版本.Jar:下载地址.
目前 Okra 没有推送到 Maven 仓库,使用 Okra-x.y.z.jar 需要手动添加类库引用.
2. 导入工程
本文以 Intellij IDEA 2016.1.2 为例. IDEA 提供多种多样的添加类库的途径. 本段只做简单的举例示范.
方法一: 设置通用类库导入
- 打开工程设置. “File” -> “Project Structure…” 或者使用快捷键(Ctrl + Alt + + Shift + S).
- 选择”Global Libraries”, 点击符号”+”,添加 Okra-x.y.z.jar 为通用类库.
- 添加 Okra 到工程中, 选中新添加的 Okra-x.y.z.jar 点击鼠标右键 -> “Add to Modules” 选中对应的模块, 最终”Ok”, 完成导入
方法二: 在 Modules 界面设置导入
- 打开工程设置. “File” -> “Project Structure…” 或者使用快捷键(Ctrl + Alt + + Shift + S).
- 选择”Modules”, 选中需要添加 Okra 的模块, 点击”Dependencies”, 点击符号”+”.
- 点击”JARs or directories”选择 Okra 文件或所在目录按照提示完成添加
3. Okra 框架的依赖
Okra 核心是整合 Netty 和 Disruptor 两个框架. 以便于快速开发高并发, 低延迟,高吞吐量, 灵活可扩展的网络服务器.
(required) :
1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.0.36.Final</version>
</dependency>
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.3.2</version>
</dependency>
(optional) :
-
Spring 框架支持
使用 Spring 框架, 除了 Spring 框架自身带来的 IOC 等便利之外, 还可以快速集成大量优秀的类库, 例如: Hibernate, Mybatis, BoneCP, HikariCP 等等.
1 2 3 4 5
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.2.RELEASE</version> </dependency>
-
Flex 通信支持
Flex 客户端和 Java 服务端的通信支持依赖于BlazeDS类库.
1 2 3 4 5 6 7 8 9 10
<dependency> <groupId>org.apache.flex.blazeds</groupId> <artifactId>flex-messaging-core</artifactId> <version>4.7.2</version> </dependency> <dependency> <groupId>org.apache.flex.blazeds</groupId> <artifactId>flex-messaging-common</artifactId> <version>4.7.2</version> </dependency>
4. 项目中使用
示例 1: Okra 框架搭建 HTTP 服务器
示例 2: Okra 框架搭建 Socket 服务器
Java 服务器 Demo: okra-demo
5. 总结
本文旨在帮助初次接触 Okra 框架的用户,快速搭建基于 Okra 的网络服务器. 提供了两个简单的示例和一个相对来说比较完整的服务端 demo. 用户在实际开发过程中遇到问题或者 BUG 欢迎反馈到issues.
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 TinyZ Zzh (包含链接: https://tinyzzh.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。 如有任何疑问,请 与我联系 (tinyzzh815@gmail.com) 。
评论