https://github.com/lostsky3000/ejnode
A lightweight server framework in java with nodestyle, 像nodejs一样写简单的java代码
https://github.com/lostsky3000/ejnode
asynchronous-programming asyncio game-server java-server loadbalance node redis-client
Last synced: 8 months ago
JSON representation
A lightweight server framework in java with nodestyle, 像nodejs一样写简单的java代码
- Host: GitHub
- URL: https://github.com/lostsky3000/ejnode
- Owner: lostsky3000
- License: mit
- Created: 2023-08-11T08:40:19.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-09-07T04:33:37.000Z (about 2 years ago)
- Last Synced: 2025-01-10T20:48:24.657Z (10 months ago)
- Topics: asynchronous-programming, asyncio, game-server, java-server, loadbalance, node, redis-client
- Language: Java
- Homepage:
- Size: 147 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](./LICENSE)
# ejnode(Easy-Java-Node)
一句话概括:
ejnode是一个业务逻辑单线程,非业务功能(io,timer等)多线程的异步事件处理框架,正如nodejs做的那样。
将业务逻辑回归简洁,让开发者摆脱多线程编程的心智负担,但又可以在io等方面享受多线程带来的性能优势。
如其名: 像node一样写简单的java代码。
## ejnode 有哪些特性
- 业务逻辑只用单线程处理 (可扩展多个业务线程来实现负载均衡)
- 每个业务线程对应专属io线程组,避免高并发下"多业务线程对多io线程"加剧锁竞争的情况
- 所有io操作无阻塞(基于netty),全异步
- 经过优化的定时器,支持海量定时任务
- 提供 http,websocket 等常用网络服务
- 提供 redis异步驱动(RESP2协议)
## 示例
[Startup](src/test/java/fun/lib/ejnode/example/Startup.java) 启动ejnode
[Exit](src/test/java/fun/lib/ejnode/example/Exit.java) 关闭ejnode
[Timeout](src/test/java/fun/lib/ejnode/example/Timeout.java) 定时器用法
[Schedule](src/test/java/fun/lib/ejnode/example/Schedule.java) 定时任务用法
[Process](src/test/java/fun/lib/ejnode/example/ProcessTest.java) Process相关用法
[HttpServer](src/test/java/fun/lib/ejnode/example/HttpServerTest.java) http服务器示例
[HttpClient](src/test/java/fun/lib/ejnode/example/HttpClientTest.java) http客户端示例
[WebsocketServer](src/test/java/fun/lib/ejnode/example/WebsocketServerTest.java) websocket服务器示例
[RedisClient](src/test/java/fun/lib/ejnode/example/RedisClientTest.java) redis客户端示例
[Logger](src/test/java/fun/lib/ejnode/example/LoggerTest.java) 日志示例
## 社区&支持
E-Mail: 296821855@qq.com