2014-07-26 3 views
1

그래서 일반적으로 MEAN 스택을 처음 접했고 NodeJS/express 콤보 압축에 관한 몇 가지 질문이있었습니다.NodeJS GZip 압축 - 모든 문제?

주위를 파고 후 나는 그 널리 사용되는 기능이 아닙니다 발견과 과거 (ZLIB)에 몇 가지 문제가 있었다도 이제 갖는 것은 압축에 대한 문서를 발견 4.0

익스프레스에서 분리 된 모듈 : https://github.com/expressjs/compression

'Server-Sent Events'코드 예제는 setInterval 메서드로 눈썹을 올립니다. 데이터를 스트리밍하기보다는 주로 한 가지 방법으로 스트리밍하는 것이지만 처음에는 약간 이상하게 보였습니다.

위의 모듈과 함께이 설정 및 스택을 사용하는 사람들은 아무도 나에게 최근의 것을 알려주지 않은 것을 알기 위해 잡았다 또는 이슈를 알 수 있습니다.

참고로 저는 주로 대량의 JSON 전송 및 나중에는 더 작은 HTML 정적으로 사용하려고합니다.

위의 내용을 사용하지 않을 경우 사람들이 압축을 위해 무엇을하는지 알고 싶습니다.

답변

1

내 응용 프로그램 내에 zlib 압축을 넣지 않겠습니다. 나는 고도로 최적화 된 웹 서버 레벨에 두었습니다.

많은 사람들이 Node.js 서버의 HTTP 서버를 기본 제공 방법으로 잘못 사용합니다. 이것은 분명히 효과적이지만, Nginx와 같은 적절한 웹 서버를 앞에두면 더 효율적으로 작업을 수행 할 수 있습니다. 왜 숟가락으로 연결하여 연결 속도가 느린 연결, 압축, 캐싱, 인증 등으로 응용 프로그램을 묶어야합니까?

CGI/FastCGI의 대체품으로 Node.js의 HTTP 서버를 생각해보십시오. 범용 HTTP 서버로 사용할 수 있지만 대부분의 웹 응용 프로그램에서 응용 프로그램과 웹 서버 간의 통신 프로토콜로 사용하는 것이 좋습니다.

는 (분명히 ...이 예외가 모든 Node.js를 심지어 웹 서빙과는 아무 상관이. 앱의 아키텍처 할 때 최선의 판단을 사용합니다. 애플 리케이션) 내가 할 노드 ZLIB를 발견

+0

+1 답변을 원합니다. 나는 당신의 말은 이해가된다고 생각합니다. 아마도 미래에는 아마도 nginx에 기대 게 될 것입니다. 이 단계에서 우리는 인프라 측면에서 조금 단순하게 유지하려고했지만이 단계에서는 순수한 NodeJS 솔루션을 검토하고있었습니다. –

+0

@iQ. Nginx를 앞에 두는 것만으로도 작업이 훨씬 간단해질 것입니다.구성이 쉽고 공통된 웹 제공 작업을위한 미들웨어를 손쉽게 가져올 수 있습니다. 또한 Nginx를 사용하면 정기적 인 유지 보수와 업그레이드가 가능하므로 다운 스트림 서버를 다운 타임없이 새로운 버전의 응용 프로그램으로 지정할 수 있습니다. – Brad

0

꽤 천천히 내 의도 된 사용합니다.

이것은 내가 그것을 사용하려고 무엇을 : 아마존 S3에 ZLIB 및 암호화 (AES-128-CTR)를 통해 첨부 파일로

  • 파이프를 여러 부분으로 양식 게시물을

    1. .

    일부 타이밍 실험을 한 후 암호화 부분이 매우 빠르다는 것을 알았습니다. 클라이언트에서 S3까지의 총 전송 시간에 약 5-10 % 만 추가합니다.

    ZLib는 전송 시간에 약 50 %를 추가합니다. 파일을 압축하지 않게되었습니다. S3의 스토리지는 저렴합니다.