더북(TheBook)

전체 코드는 다음과 같습니다.

코드 7-4 상품 관리 마이크로서비스 전체 코드

예제 파일 : microservice_goods.js

'use strict';

// 비즈니스 로직 파일 참조
const business = require('../chapter5/monolithic_goods.js');

// Server 클래스 참조
class goods extends require('./server.js') {
    constructor() {
        super("goods"  // 부모 클래스 생성자 호출
            , process.argv[2] ? Number(process.argv[2]) : 9010
            , ["POST/goods", "GET/goods", "DELETE/goods"]
        );

        this.connectToDistributor("127.0.0.1", 9000, (data) => {  // Distributor 접속
            console.log("Distributor Notification", data);
        });
    }

    // 클라이언트 요청에 따른 비즈니스 로직 호출
    onRead(socket, data) {
        console.log("onRead", socket.remoteAddress, socket.remotePort, data);
        business.onRequest(socket, data.method, data.uri, data.params, (s, packet) => {
            socket.write(JSON.stringify(packet) + '¶');
        });
    }
}

new goods();  // 인스턴스 생성
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.