Okra-Ax设计说明

614 字
3 分钟
Okra-Ax设计说明

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 提供多种多样的添加类库的途径. 本段只做简单的举例示范.

方法一: 设置通用类库导入

  1. 打开工程设置. “File” -> “Project Structure…” 或者使用快捷键(Ctrl + Alt + + Shift + S).
  2. 选择”Global Libraries”, 点击符号”+“,添加 Okra-x.y.z.jar 为通用类库.
  3. 添加 Okra 到工程中, 选中新添加的 Okra-x.y.z.jar 点击鼠标右键 -> “Add to Modules” 选中对应的模块, 最终”Ok”, 完成导入

方法二: 在 Modules 界面设置导入

  1. 打开工程设置. “File” -> “Project Structure…” 或者使用快捷键(Ctrl + Alt + + Shift + S).
  2. 选择”Modules”, 选中需要添加 Okra 的模块, 点击”Dependencies”, 点击符号”+”.
  3. 点击”JARs or directories”选择 Okra 文件或所在目录按照提示完成添加

3. Okra 框架的依赖#

Okra 核心是整合 Netty 和 Disruptor 两个框架. 以便于快速开发高并发, 低延迟,高吞吐量, 灵活可扩展的网络服务器.

(required) :

<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) :

  1. Spring 框架支持

    使用 Spring 框架, 除了 Spring 框架自身带来的 IOC 等便利之外, 还可以快速集成大量优秀的类库, 例如: Hibernate, Mybatis, BoneCP, HikariCP 等等.

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.2.2.RELEASE</version>
    </dependency>
  2. Flex 通信支持

    Flex 客户端和 Java 服务端的通信支持依赖于BlazeDS类库.

    <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**.

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
Okra-Ax设计说明
https://tinyzzh.github.io/posts/2017-09-23-okra_ax_design_description/
作者
TinyZ Zzh
发布于
2017-09-23
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
TinyZ Zzh
专注于高并发服务器、网络游戏相关(Java、PHP、Unity3D、Unreal Engine等)技术,热爱游戏事业, 正在努力实现自我价值当中。
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
211
分类
38
标签
200
总字数
337,853
运行时长
0
最后活动
0 天前

文章目录