Page 17 -
P. 17

3.1         비동기 프로그래밍                              No DE .js Mi C ros E rvi CE s







                   일반적으로 파일 I/O나 네트워크 I/O는 메모리 I/O보다 현저히 느립니다. 예를 들어 파일 4개
                   의 입출력을 하나씩 처리한다면, 처리 시간은 길어지고 CPU의 사용 효율성은 떨어집니다. 이를

                   개선하고자 비동기 프로그래밍을 사용하는데, 순차적으로 I/O를 처리하는 것이 아니라 I/O 처리
                   요청만 운영체제에 전달하고 CPU는 다른 연산을 수행합니다. I/O 처리가 완료되면 운영체제에
                   서 I/O 처리를 완료했다는 메시지를 전달받아 이후 작업을 처리하는 방식입니다.

                      그림 3-1 동기와 비동기의 차이
                    동기


                    비동기











                   참고로 비동기 프로그래밍은 I/O 처리 요청 순서와 별개로 처리를 완료하는 순서는 제각각입니
                   다. 따라서 개발자는 보장되지 않는 I/O 완료 처리를 고려해 프로그래밍을 해야 합니다.

                   Node.js는 모든 함수와 모듈이 비동기 프로그래밍을 기본으로 합니다. 동기 방식 함수들이 약간
                   있지만 제한적이기 때문에 비동기 프로그래밍에 익숙해질 필요가 있습니다. 이때 주의할 점을 간
                   단한 코드를 작성하면서 알아보겠습니다. 다음 코드처럼 입력하고 실행합시다. 코드는 메모장, vi
                   에디터 등 사용하기 편한 텍스트 에디터에서 작성하면 됩니다.


                     Note   책에서는 기본적으로 윈도 명령 프롬프트를 사용해 실습합니다.
















             028




         Microservices_07.indd   28                                                             2018-02-09   오전 11:50:19
   12   13   14   15   16   17   18   19   20   21