Coder Social home page Coder Social logo

net-stream-buffer's Introduction

이 README는 서버 간에 대량의 데이터를 스트리밍하는 방법과 스트리밍된 데이터를 실시간으로 처리하는 방법을 보여주는 Node.js 예제에 대한 개요를 제공합니다. 이 예제는 클라이언트, 서버 A (데이터 전송 서버), 서버 B (데이터 수신 서버), 그리고 서버 C (데이터 수신 서버2)의 네 가지 주요 구성 요소로 구성됩니다.

데이터 전송 테스트

  1. A 서버를 먼저 실행하여 포트 8000에서 대기하게 합니다.
  2. B 서버 또는 C 서버를 실행하여 포트 9000에서 대기하게 합니다.
  3. client.js 사용하여 송신 서버(8000 포트)에 연결하고, 송신 서버가 자동으로 수신 서버(9000 포트)로 데이터를 전송하도록 합니다.

개요

이 예제는 클라이언트가 서버 A에 대량의 데이터를 요청하는 시나리오를 시뮬레이션합니다. 요청을 받은 서버 A는 대량의 더미 데이터를 생성하고 이 데이터를 서버 B/C로 스트리밍합니다. 서버 B는 데이터 청크가 도착하는 대로, 전체 데이터 세트를 저장하지 않고 처리하는 버전이고, 서버 C는 전체 데이터 스트림을 수신하여 처리하기 전에 저장하는 버전입니다.

서버 A (데이터 전송 서버)

  • 기능: 서버 A는 요청을 받을 때 대량의 데이터를 생성하고 전송하는 데이터 제공자 역할을 합니다.
  • 데이터 생성: 객체의 리스트로 구성된 대량의 더미 데이터를 생성합니다. 각 객체는 ID, 이름, 설명을 포함합니다.
  • 스트리밍: 생성된 데이터 세트를 JSON 문자열로 변환하여 TCP 연결을 통해 서버 B로 스트리밍합니다.
  • 연결 처리: 클라이언트로부터 데이터 요청을 받으면 서버 A는 서버 B/C에 연결을 설정하고 생성된 데이터를 스트리밍합니다.

서버 B

  • 실시간 처리: 서버 B는 도착하는 대로 데이터 청크를 처리하며, 전체 데이터 세트를 기다리지 않고 처리를 시작합니다.
  • 효율성: 이 방식은 메모리 사용량을 더 효율적으로 하고 처리 속도를 높일 수 있습니다. 왜냐하면 대량의 데이터 세트를 메모리에 저장할 필요가 없기 때문입니다.
  • 사용 사례: 수신된 데이터의 즉각적인 처리가 필요하거나 전체를 저장할 필요 없이 스트리밍 데이터를 다룰 때 이상적입니다.

서버 C

  • 데이터 수신: 서버 C가 들어오는 모든 데이터 청크를 버퍼에 수집하는 방식으로 설계되었습니다.
  • 처리: 전체 데이터 스트림을 수신한 후, 서버 C는 버퍼에 저장된 데이터를 다시 JSON 객체로 변환하여 처리합니다.
  • 제한 사항: 이 접근 방식은 서버 C가 처리를 시작하기 전에 모든 데이터를 받고 저장해야 하므로, 대량의 데이터셋을 다룰 때 비효율적일 수 있습니다.

클라이언트

  • 역할: 클라이언트는 서버 A에 데이터를 요청함으로써 데이터 전송 프로세스를 시작합니다.
  • 상호 작용: 외부 엔티티가 서버 간에 대량의 데이터셋을 스트리밍하고 처리하도록 트리거하는 방법을 보여줍니다.

net-stream-buffer's People

Contributors

yunj8649 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.