Netty 정보 로딩은 장거리 연결 실시간 통신 시스템을 구현하는 데 사용됩니다. 클라이언트는 어떤 시나리오에서도 사용할 수 있으며 실시간 http 통신, webSocket 통신, tcp 프로토콜 통신, udp 프로토콜 통신, 브로드캐스트 프로토콜 등을 지원합니다. http 프로토콜과 rpc 프로토콜. 사용자 정의 네트워크 패킷 구조를 사용하여 사용자 정의 네트워크 스택을 구현합니다.
1: 서비스 노드 구성을 위해 분산 사육사를 지원합니다.
2: 사용자 정의 주석 형태로 netty 개인 메시지 프로토콜 스택을 구현합니다.
3: 원격 RPC 호출을 지원합니다.
4: Redis를 지원합니다.
5: DB 분리를 지원합니다.
6: 동기식 및 비동기식 메시지 처리 지원
7: 분산 메시지 대기열을 구현하기 위해 kafka 메시지 대기열 공급/소비 모델을 지원합니다.
8: 데이터 보안을 보장하기 위해 데이터 암호화 전송을 지원합니다.
9: 분산 트랜잭션 3pc 제출 및 예외 롤백을 지원합니다.
1: 게임 서버
2: 실시간 통신 시스템
3: 금융정보처리시스템
4: 실시간 네트워크 성능에 대한 요구 사항이 높은 시스템
5: 일반적인 인터넷 시스템
독립 데이터 DB 모듈, 독립 트랜잭션 모듈, 독립 스레드 스케줄링 모듈. 마이크로서비스 형태로 네트워크 서비스를 제공합니다.
TCP 통신, TCP 통신을 실현하기 위해 netty를 사용하면 프로젝트에서 comtwjitmcorestartGameService를 사용할 수 있습니다. 시작 모드를 tcp 서버 시작 모드로 변경하고 testjavacomtwjitmClientServiceTest를 사용할 수 있습니다. 고객을 시뮬레이션하기 위한 테스트 연결을 위해서는 연결할 TCP 서버에 대한 포트와 주소를 변경해야 합니다. TCP 메시지 처리에서는 메시지 대기열을 사용하여 들어오는 모든 메시지를 대기열에 넣고 스레드 풀링 기술을 통해 메시지를 처리합니다.
UDP 사용자 정의 네트워크 프로토콜 스택의 형식은 TCP 사용자 정의 네트워크 프로토콜 스택의 형식과 유사합니다. 차이점은 UDP가 메시지 처리 모듈에서 사용 시 저장되는 연결을 설정할 필요가 없다는 것입니다. TCP 연결은 어느 클라이언트인지 확인하는 데 사용됩니다. UDP 프로토콜은 동기 대기열 모드, 생산자-소비자 모드 등 두 가지 메시지 처리 모드를 통해 클라이언트가 보낸 메시지를 올바르게 처리할 수 있습니다.
HTTP 프로토콜은 데이터 패킷이 다르다는 점을 제외하면 TCP 및 UDP 프로토콜과 유사한 사용자 정의 네트워크 프로토콜 스택을 사용하여 구현됩니다. HTTP는 TCP의 애플리케이션 계층에 구축된 프로토콜입니다. 동기 처리를 사용하여 메시지가 도착할 때 적시에 메시지를 처리합니다.
RPC 모듈은 동기식 호출과 비동기식 호출, 원격 서버 호출, netty를 사용하여 경량 rpc 서버 프레임워크 구현, 스레드 양보 전략 사용자 정의 등으로 구분됩니다. 동적 프록시와 같은 기본 Java 지식과 결합되어 rpc 서버 통신 모듈이 구현됩니다. xml 문서를 사용하여 rpc 서버의 기본 정보를 구성하여 서버의 동적 수평 확장을 달성합니다. 분산 서버에 대한 기본 준비
Zookeeper, 동적 등록 서비스, 검색 서비스를 통합하고 rpc 로직을 통합하여 분산 서비스 검색 및 등록이 실현됩니다.
Kafka 서비스를 통합합니다. 분산 서버 메시지 대기열을 구현하고 시스템의 논리를 분리합니다.
프로젝트의 공간 복잡성, 시간 복잡성, 응답 시간, 스트레스 테스트 기능 및 기타 성능을 계속 최적화하고 있습니다.
이 프로젝트에서는 서버가 시작될 때 컨테이너 초기화가 Spring에 균일하게 제출되기 위해 Spring을 사용합니다. Spring 컨테이너에 주입된 Bean 객체를 쉽게 얻을 수 있으며 가독성도 향상됩니다. 코드.
스레드 관리를 통해 서버 이벤트 업데이트는 독립 모드를 사용하여 서버 이벤트를 업데이트하고 대기열 모드를 사용하여 이벤트의 직렬 실행을 활성화합니다.
작성자: 함부로 좋은 별명을 따지 마세요 twjitm qq: 1089718215
블로그 주소 https://blog.csdn.net/baidu_23086307
개인 홈페이지 주소: https://twjitm.com