All Projects → twjitm → twjitm-core

twjitm / twjitm-core

Licence: other
采用Netty信息加载实现长连接实时通讯系统,客户端可以值任何场景,支持实时http通讯、webSocket通讯、tcp协议通讯、和udp协议通讯、广播协议等 通过http协议,rpc协议。 采用自定义网络数据包结构, 实现自定义网络栈。

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to twjitm-core

Easyrpc
EasyRpc is a simple, high-performance, easy-to-use RPC framework based on Netty, ZooKeeper and ProtoStuff.
Stars: ✭ 79 (-19.39%)
Mutual labels:  protobuf, netty, zookeeper, rpc
Getty
a netty like asynchronous network I/O library based on tcp/udp/websocket; a bidirectional RPC framework based on JSON/Protobuf; a microservice framework based on zookeeper/etcd
Stars: ✭ 532 (+442.86%)
Mutual labels:  protobuf, tcp, netty, rpc
Mrpc
🐿 netty,zookeeper,spring,kyro rpc framework.
Stars: ✭ 128 (+30.61%)
Mutual labels:  protobuf, netty, zookeeper, rpc
Message Io
Event-driven message library for building network applications easy and fast.
Stars: ✭ 321 (+227.55%)
Mutual labels:  tcp, asynchronous, udp, tcp-server
Netty Stroll
RPC基础通信框架
Stars: ✭ 77 (-21.43%)
Mutual labels:  tcp, netty, zookeeper, rpc
cheshuo
🎃A lightweight game server framework. Based on Springboot and Netty. Using ProtoBuf as communication between client and server.
Stars: ✭ 23 (-76.53%)
Mutual labels:  protobuf, tcp, maven, netty
Simplenet
An easy-to-use, event-driven, asynchronous network application framework compiled with Java 11.
Stars: ✭ 164 (+67.35%)
Mutual labels:  tcp, maven, asynchronous, tcp-server
network
exomia/network is a wrapper library around System.Socket for easy and fast TCP/UDP client & server communication.
Stars: ✭ 18 (-81.63%)
Mutual labels:  tcp, udp, tcp-server, udp-server
Rmessage
Reactive Programming Multi-protocol push service
Stars: ✭ 23 (-76.53%)
Mutual labels:  tcp, udp, netty4
Almost Famous
🌟 Almost-Famous(成名之路) ——卡牌游戏开源项目,架构使用SpringBoot+Netty+Maven+SpringCloud来搭建多进程分布式框架,包括Cloud、Unique、Login、Game、Match、Battle 等服务。
Stars: ✭ 131 (+33.67%)
Mutual labels:  protobuf, maven, netty
Nettychat
基于Netty+TCP+Protobuf实现的Android IM库,包含Protobuf序列化、TCP拆包与粘包、长连接握手认证、心跳机制、断线重连机制、消息重发机制、读写超时机制、离线消息、线程池等功能。
Stars: ✭ 1,979 (+1919.39%)
Mutual labels:  protobuf, tcp, netty
aioudp
Asyncio UDP server
Stars: ✭ 21 (-78.57%)
Mutual labels:  asynchronous, udp, udp-server
Socket-Programming-With-C
✉️ Learn Network Protocol and Network Programming
Stars: ✭ 147 (+50%)
Mutual labels:  udp, tcp-server, udp-server
asyncio-socks-server
A SOCKS proxy server implemented with the powerful python cooperative concurrency framework asyncio.
Stars: ✭ 154 (+57.14%)
Mutual labels:  tcp, asynchronous, udp
Netty Learning Example
🥚 Netty实践学习案例,见微知著!带着你的心,跟着教程。我相信你行欧。
Stars: ✭ 2,146 (+2089.8%)
Mutual labels:  protobuf, netty, rpc
Brpc Java
Java implementation for Baidu RPC, multi-protocol & high performance RPC.
Stars: ✭ 647 (+560.2%)
Mutual labels:  protobuf, netty, rpc
rpc-spring-boot-starter
自定义rpc框架,支持Java序列化和protobuf序列化协议,多种负载均衡算法
Stars: ✭ 75 (-23.47%)
Mutual labels:  protobuf, netty, zookeeper
RRQMSocket
TouchSocket是.Net(包括 C# 、VB.Net、F#)的一个整合性的、超轻量级的网络通信框架。包含了 tcp、udp、ssl、http、websocket、rpc、jsonrpc、webapi、xmlrpc等一系列的通信模块。一键式解决 TCP 黏分包问题,udp大数据包分片组合问题等。使用协议模板,可快速实现「固定包头」、「固定长度」、「区间字符」等一系列的数据报文解析。
Stars: ✭ 286 (+191.84%)
Mutual labels:  tcp, udp, rpc
DDoS-Script
A script written in perl for ddos ​​with automatic detection of open and vulnerable port that gives up to 1.5 gb packages / s
Stars: ✭ 30 (-69.39%)
Mutual labels:  tcp, udp, udp-server
SuperSimpleTcp
Simple wrapper for TCP client and server in C# with SSL support
Stars: ✭ 263 (+168.37%)
Mutual labels:  tcp, rpc, tcp-server

twjitm-core

相关业务介绍

Netty网络基础架构系统

采用Netty信息加载实现长连接实时通讯系统,客户端可以值任何场景,支持实时http通讯、webSocket通讯、tcp协议通讯、和udp协议通讯、广播协议等 通过http协议,rpc协议。 采用自定义网络数据包结构, 实现自定义网络栈。

1:支持分布式zookeeper进行服务节点配置。
2:采用自定义注解形式实现netty私有消息协议栈。
3:支持远程RPC调用。
4:支持redis。
5:支持db分离。
6: 支持同步和异步消息处理
7: 支持kafka消息队列提供/消费 模式来实现分布式消息队列
8: 支持数据加密传输,保障数据安全。
9: 支持分布式事务3pc提交,异常回滚。

主要使用业务场景

1:游戏服务器
2:实时通讯系统
3:金融数据处理系统
4:对网络实时性要求较高的系统
5:常见互联网系统

目前在更新阶段

独立数据db模块,独立事务模块,独立线程调度模块。以微服务的形式提供网络服务。

TCP 通信模式

tcp通讯,采用netty实现tcp通讯,项目中可以利用 com\twjitm\core\start\GameService ,将启动模式改为tcp服务器启动模式 可以利用test中的\test\java\com\twjitm\ClientServiceTest 可以模拟客户端进行连接,需要将端口和地址改为tcp服务器进行连接。 tcp消息处理采用消息队列,将所有到来的消息放到队列中,通过线程池化技术来处理消息。

UDP 通信模式

UDP自定义网络协议栈和tcp自定义网络协议栈格式差不多,不同的是udp不需要建立连接,也就是无状态的通信模式,在消息处理模块采用 tcp连接的时候保存的session来确定是哪个客户端发出的消息,似的udp协议能够正确的处理,通过两种不同的消息处理模式,进行选择处理 其中有:同步队列模式;生产者-消费者模式。

HTTP 通信模式

HTTP协议同样采用自定义网络协议栈实现,和tcp,udp协议差不多,只不过数据包不一样,http是建立在tcp的应用层上的协议。 采用同步处理方式,当消息到来的时候及时作出处理。

RPC 通信模式

RPC模块分为同步调用和异步调用,远程服务器调用,利用netty实现轻量级rpc服务器框架,通过自定义线程让步策略。结合动态代理等 java搞基知识,实现rpc服务器通讯模块。利用xml文档配置rpc服务器基本信息,以达到动态的水平扩展服务器。为分布式服务器做好 基础准备

zookeeper 服务

通过整合zookeeper,动态的注册服务,发现服务,整合rpc逻辑,实现分布式服务发现和注册。

kafka服务

通过整合kafka服务。实现分布式服务器消息队列,解耦系统中的逻辑。

其他

还在优化,优化项目中的空间复杂度,时间复杂度,相应时间,压测能力等性能

spring容器的使用

本项目利用spring来统一管理一些bean,利用服务器启动的时候,统一将容器初始化提交给spring,利用spring提供的注解,轻松获得 注入到spring容器中的bean对象,提高代码的可读性。

事件更新器

通过线程管理,服务器事件更新采用独立模式来更新服务器事件,采用队列模式来使得事件串行执行。

作者:好昵称不随便起 twjitm qq:1089718215

博客地址https://blog.csdn.net/baidu_23086307

个人网站地址;https://twjitm.com

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].