'NIO'에 해당되는 글 2건

  1. java nio scatter/gater 2010/12/07
  2. Scalable IO in Java 2010/03/09

java nio scatter/gater

from Java 2010/12/07 20:11
자바도 nio 패키지 내에서 channel을 통한 buffer의 scatter/gater를 지원하고 있습니다.
현재, 프로젝트의 프로토콜이 header + body의 구조를 띄고 있고, 매번 single buffer에 put, send 하고 있고, 받을 때도 역시, 똑같이 하고 있습니다. 그걸 아래의 튜토리얼에 있는 scatter/gater 방식을 통해서 코드를 깔끔하게 만들 수 있습니다.

* read

ByteBuffer header = ByteBuffer.allocate(128);
ByteBuffer body   = ByteBuffer.allocate(1024);
ByteBuffer[] bufferArray = { header, body };
channel.read(buffers);

* write

ByteBuffer header = ByteBuffer.allocate(128);
ByteBuffer body   = ByteBuffer.allocate(1024);
ByteBuffer[] bufferArray = { header, body };
channel.write(buffers);

위 예제와, 좀 더 자세한 내용 아래의 주소를 통해서 보실 수 있습니다. ^^
http://tutorials.jenkov.com/java-nio/scatter-gather.html
저작자 표시
Tag // gather, java, NIO, Scatter

Scalable IO in Java

from Data 2010/03/09 17:53
Doug Lea 교수님께서 강의를 위해서 만들어놓은 자료입니다. 어디에서 다운로드를 받았는지 기억이 안나서 업로드 합니다.

PDF 자료를 보시면,  POSA2의 Reactor 패턴을 이용해서 이벤트를 디스패칭하는 내용을 기본으로, 약 3가지의 모델을 제시하고 있고, 그 중에서 Using Multiple Reactors 슬라이드 편이 가장 성능이 좋을거 같습니다.



위와 같은 모습의 서버 프레임웍을 조만간 공개할 예정입니다.
혹시, nio 기반의 소켓서버를 개발하시는 분들에게 도움이 되었으면 하네요.. ^^