일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 포너블
- hackctf
- 웹보안
- node.js
- pwnable.xyz
- nodejs
- 백준
- sequelize
- webhacking.kr
- 회고
- 시스템 해킹
- kotest
- 보안
- Python
- Baekjoon
- gcp ci/cd
- docker
- 프로그래머스
- Batch
- 스프링 배치
- 네트워크
- programmers
- 사이버보안
- spring Batch
- 파이썬
- gcp cloud build
- gcp
- cloud run
- 웹해킹
- 리버싱
uju's Tech
[gRPC : Node.js] Node.js에서 gRPC 설치 본문
<본 포스팅은공부목적으로 작성되었습니다. 혹시 틀린 부분이 있거나 문제가 되는 부분이 있다면 답글 달아주세요!>
1. 먼저 현재 진행 중인 express 프로젝트 폴더에서 grpc와 grpc loader를 설치하자.
[설치 참고 문서]
https://www.npmjs.com/package/grpc
gRPC 설치 : sudo npm install grpc
https://www.npmjs.com/package/@grpc/proto-loader
gRPC loader 설치 :sudo npm install @grpc/proto-loader
2.(이 부분은 깃에 proto 를 위한 repo를 하위 레포로 생성한 경우) 현재 프로젝트에 서브모듈 추가하기
깃 크라켄이나 소스트리에서도 간단한 클릭으로 추가가능하다.
터미널로 설정도 가능하다.
git submodule add <추가하려는 자식 repo>
이렇게 서브 모듈을 추가하면 소스트리 기준으로 부모듈에서 확인가능하다.
.gitmodeuls라는 파일도 생성되는데 해당 서브모듈에 대한 정보가 들어있따.
3. grpcSercer.js를 작성해주자.
const grpc = require('grpc');
const protoLoader = require('@grpc/proto-loader');
const packageDefinition = protoLoader.loadSync('(proto경로)/(지정한 프로토 파일명)', {});
const proto = grpc.loadPackageDefinition(packageDefinition);
const grpcServer = new grpc.Server();
grpcServer.addService(proto.ApiAuthorization, {
});
const grpcUrl = '0.0.0.0:50000';
grpcServer.bind(grpcUrl, grpc.ServerCredentials.createInsecure());
module.exports = {
grpcServer,
grpcUrl,
};
4. server가 listen하는 부분에 아래와 같이 추가해준다.
const { grpcServer, grpcUrl } = require('./grpcServer');
grpcServer.start();
console.log(`gRPC server listening at ${grpcUrl}`);
이 부분이 gRPC 튜토리얼을 보면 app.js에서 server listen을 해주기 때문에 app.js에서 작성해주지만
현재 프로젝트는 bin/www에서 서버를 열어주기 때문에 이 아래에 작성하였다.
5. 이제 request, response는 원하는 상황에 맞게 작성하자!_!
이 부분을 따로 공부를 더 진행하여 다른 포스팅에서 작성해볼 생각이다..!
기본 셋팅 끝!
'DevOps > MSA' 카테고리의 다른 글
[gRPC] gPRC Remote Procedure Calls란? (0) | 2020.07.23 |
---|