본문 바로가기

개발/Node.JS

설문 조사 : Node.js 개발자가 디버깅 및 다운 타임

 Node.js 디버깅, 다운 타임, 마이크로 서비스 및 기타 문제점에 대한 개발자 설문 조사에서 얻은 통찰력을 요약합니다.

이 기사의 두 번째 부분에서는 우리가 발견 한 가장 큰 Node.js 문제에 대한 도움을 제공하려고합니다.


RisingStack, 그 유명한 회사가 실시한 설문 조사 Node.js를 모니터링 솔루션 과 Node.js를 서비스 하는 보여 주 생산 시스템에서 Node.js를 개발자 경험 다운 타임의 1 / 3 회 이상.

RisingStack의 Node.js 조사 - 중단 시간

설문 조사에 따르면 43 %의 개발자가 주당 2 시간 이상을 Node.js 응용 프로그램을 디버깅 하는 데 사용 하고 있으며 17 %는 일주일에 5 시간 이상 을 프로덕션 시스템에서 오류를 수정 하는 데 사용 합니다.

RisingStack의 Node.js 조사 - 디버깅에 소요 된 시간

Node.js 설문 조사 정보

이 조사는 4 월 13-27 일 사이 온라인 양식을 통해 실시되었습니다. 746 명의 개발자가 완성했으며, 509 명이 Production 시스템에서 Node.js 애플리케이션을 사용한다고 주장합니다. 설문 조사는 전적으로 자신의 문제에 초점을 맞추고 있으며이 보고서는 답변에 근거합니다.

설문 참여자는 이메일을 통해 참여하도록 요청받은 RisingStack의 Node.js 블로그 구독자입니다 .

Node.js 개발의 가장 큰 문제점

이 설문 조사는 노드 개발자들이 일상적으로 직면하는 문제에 대한 가치있는 통찰력을 제공합니다. 우리는 애플리케이션 개발자들이 직면 한 가장 큰 도전 과제에 대해 설명해 줄 것을 요청했기 때문입니다.

Node.js를 사용하는 개발자가 애플리케이션을 디버깅하는 것이 가장 큰 장애물입니다 (모든 응답자의 18 %). 이 데이터에 따르면, 마이크로 서비스 및 버그를 디버깅하는 것이 생산의 심각성에 가깝다고 할 수는 없습니다.

RisingStack의 Node.js 설문 조사 - 개발자가 직면하는 Node.js 상위 문제

고해상도 버전을 열려면 여기를 클릭하십시오.

두 번째 계층에는 메모리 문제 (주로 메모리 누수), Node.js 애플리케이션의 확장 및 모니터링, 특히 대규모 프로덕션 시스템에서의 배포 문제가 있습니다. 비동기 프로그래밍, 오류 처리 및 종속성 관리에도 문제가 있습니다. 이러한 각각의 문제는 개발자 중 6-8 %가 가장 심각한 것으로 지적되었습니다.

문제의 세 번째 단계는 여전히 주요 단계입니다. 개발자는 Microservices (통신, 통합, 관리), 콜백, 보안 (인증 문제 포함) 및 가동 중지 시간 (가동 중단 및 재시작 처리)을 많이 언급합니다. 또한 빠르게 변화하는 Node.js 환경을 따라 잡고 애플리케이션 성능을 향상시키고 문제를 추적하는 데 어려움을 겪습니다.

이 설문 조사의 응답자들이 지명 한 문제의 마지막 단계는 상대적으로 미약했습니다. 여기에는 약속 사용, 표준 부족, 프로젝트 구조화, 테스트 및 스레딩의 어려움이 포함됩니다. 또한 개발자는 차단 된 이벤트 루프, Node.js, 로깅 및 구성을 노드에서 가장 큰 문제로 인식합니다.

Microservices가 Node.js 시스템에 미치는 영향

마이크로 서비스 기반 애플리케이션을 보유한 사람들과 그렇지 않은 사람들을 비교해 보면 흥미로운 또 다른 통찰력이 설문 조사에서 얻을 수 있습니다.

  • 모노리스에서 작업하는 사람과 비교하여 노드가있는 마이크로 서비스 아키텍처를 구축하는 개발자들 사이에서 디버깅에 소요되는 시간이 약간 증가했습니다. 44,4 %는 주당 디버깅 시간이 2 시간 이상이며 41,2 %가 소요됩니다.

  • 개발자가 Microservices 아키텍처를 가진 개발자와 그렇지 않은 개발자를 비교하면 다운 타임을 피하는 데 상당한 차이가 있습니다. Microservices 개발자 중 29,3 %가 다운 타임을 경험하지 않았는데, 분산 어플리케이션을 개발하지 않은 개발자의 25.6 %와 비교되는 것 같습니다.

RisingStack의 Node.js 조사 - Microservices 대 Microservices 없음

데이터 이해하기

수집 한 데이터는 대표성이 없지만 RisingStack의 컨설팅 및 교육 과정에서 얻은 경험을 뒷받침합니다.

준비가 안 된 회사에서 마이크로 서비스 아키텍처를 구축하면 엔지니어링 수준과 관리 수준에서 엄청난 복잡성을 초래할 수 있습니다. 개발자가 끊임없이 만드는 많은 비용이 드는 오류가 있음을 알 수 있습니다. 따라서 쉽게 혼란이 발생할 수 있습니다.

많은 경우에 마이크로 서비스에 대한 모 놀리 식 응용 프로그램을 분류하는 것이 좋지만 분산 된 시스템에서 버그를 찾고 수정하는 것은 수많은 서비스가 항상 오류를 던져줌으로써 훨씬 어려워집니다.

마이크로 서비스로 인한 가동 중지 시간을 줄이는 것은 응용 프로그램의 일부가 개별적으로 (종종 눈에 띄지 않게) 실패 할 수 있고 더 큰 시스템을 손상시키지 않기 때문에이 기술의 주요 이점 중 하나입니다.

Node.js의 가장 큰 장애물을 극복하는 방법

수집 한 데이터가 Node.js 개발 경험에 공감을 얻으면 문제를 해결하는 데 도움이 필요할 수 있습니다.

아래에서는 Node.js로 가장 일반적인 문제를 해결하는 데 사용할 수있는 최상의 리소스를 수집했습니다.

⬢ Node.js 디버깅

⬢ Node.js 메모리 누수 및 문제점

Your 응용 프로그램 확장

Node Node.js 어플리케이션 모니터링

Deployment 배포 도움말

Node Node.js의 비동기 프로그래밍

⬢ Node.js 오류 처리

Node.js 설문 조사의 주요 결과

  • Node.js 개발자 중 29,27 %는 적어도 일주일에 한 번 생산 시스템에서 다운 타임을 겪습니다. 최소 한 달에 한 번은 54,02 %를 소비합니다.

  • 설문 조사에 응답 한 노드 개발자의 27 %는 다운 타임을 경험하지 않습니다.

  • 응답자의 42,82 %는 5 시간 이상을 소비하는 17,09 %를 포함하여 Node.js 응용 프로그램을 디버깅하면서 주당 2 시간 이상을 보냈습니다.

  • Node로 마이크로 서비스 아키텍처를 구축하는 개발자는 디버깅에 더 많은 시간을 할애합니다. 마이크로 서비스 + 노드의 이점은 다운 타임이 적은 형태로 나타납니다.