거꾸로 바라본 세상
[Netty] 1. 네티 프레임워크
Back-End/Netty 2017. 4. 13. 16:44

1. 네티 : 비동기식 이벤트 기반 네트워크 프레임 워크 Netty : 유지 관리가 용이한 고성능 프로토콜 서버와 클라이언트를 신속하게 개발하기 위한 비동기식 이벤트 기반 네트워크 애플리케이션 프레임워크 IF 최대 15만 동시 사용자가 성능 저하 없이 지원하려면? (1) 블로킹 입출력 다중연결- 각각 새로운 클라이언트 소켓마다 새로운 스레드를 할당해야함- 여러 스레드가 입출력 데이터가 들어오기를 기다리며 무한정 대기 상태로 유지될 수 있다.(리소스낭비)- 스레드가 스택 메모리를 할당해야 하는데, 운영체제마다 다르지만 스텍의 기본 크기는 64KB에서 1MB 까지 차지할 수 있다.- JVM이 물리적으로 많은 수의 스레드를 지원할 수 있지만, 동시 접속이 한계에 이르기 훨씬 전부터 컨텍스트 전환에 따른 오버헤..

article thumbnail
[Netty] Netty에서 Object객체 전송 및 ByteBuf로 변환하여 전송하기
Back-End/Netty 2016. 6. 1. 17:36

0. 공통사항- Object 타입 객체를 하나 만들었다.작업환경 : 스프링 4.2.5, netty 4.1.0final 로함/* 패키지와 임포트는 생략. (1) User.java 123456789101112131415161718192021222324252627282930public class User implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private String id; private int age; public String getId() { return id; } public void setId(String id) { this.id = id; } public int getAge() { retur..

[Netty] 네티 ServerBootstrap 만들기
Back-End/Netty 2016. 4. 6. 00:55

1. 네티의 ServerBootstrap 소켓모드 - ServerBootstrap은 논 블로킹 소켓, 블로킹 소켓, Epoll 소켓 이 있다. 1. Non Blocking Socket Mode EventLoopGroup에서 새로운 객체를 생성할 때 NioEventLoopGroup 객체를 생성한다. EventLoopGroup bossGroup = new NioEventLoopGroup(1); EventLoopGroup workerGroup = new NioEventLoopGroup(); 그리고 채널에서 NioServerSocketChannel.class을 설정해주면 끝. bootstrap.channel(NioServerSocketChannel.class); 123456789101112131415161718..