728x90
반응형
현상
zipkin을 연결한 서비스 A가 로컬에서 npm start을 할 경우 잘 된다.
하지만 Docker로 빌드해서 올리면 서비스 A가 죽는다.
도대체 왜 그럴까?
겨우 찾아낸 오류 문구는 TypeError: fetchImpl is not a function다.
https://github.com/openzipkin/zipkin-js/issues/493
간단 zipkin 이슈가 있다.
webpack에 문제가 있다는 것을 알았다.
해결
// before
externals: ["mongodb-client-encryption", "aws4", "digest-fetch"],
// atfer
externals: [nodeExternals(), "mongodb-client-encryption", "aws4", "digest-fetch"],
webpack.cofig.js에서 extrnals 설정에 nodeExternals()을 넣어줬다.
nodeExternals() 함수는 node_modules 폴더 내의 모든 모듈을 webpack 번들에서 제외시킨다.
이렇게 하면 번들의 크기가 줄고 불필요한 위존성 문제를 방지할 수 있다.
이렇게 해결 되었다는 의미는 원래의 설정이 특정 모듈을 올바르게 처리하지 못했다는 걸 뜻한다.
즉, 특정 외부 모듈들이 nodejs 환경에서 사용되기 위해 올바르게 설정되지 않았기 때문에 발생한거다.
externals 설정을 조정함으로써 모듈이 적절하게 처리되어 문제가 해결됐다.
728x90
반응형
'Back Side > etc' 카테고리의 다른 글
prometheus Error: connect ECONNREFUSED 127.0.0.1:9090 fix (0) | 2024.01.09 |
---|---|
Helm을 이용해서 k8s에 Redis 넣기 (1) | 2023.12.21 |
MSA 서비스 시리즈 1탄 : 서버간 오류 어떻게 해야할까 🤔 (3) | 2023.09.15 |
모니터링 시스템 구축하기 (1) prometheus (0) | 2023.07.06 |
눈물겨운도커 이미지 사이즈 줄이기 🥹 #1 Azure CLI 사용하기 (0) | 2023.05.09 |
댓글