안녕하세요! 강의 잘 듣고 있습니다. 감사합니다. https://www.inflearn.com/course/lecture?courseSlug=%EC%84%A0%EC%B0%A9%EC%88%9C-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%8B%A4%EC%8A%B5&unitId=156125&category=questionDetail&tab=community&q=1029856 해당 질문과 답변을 보고 추가 질문 드리려고 합니다. 제가 kafka나 redis, 분산서버 등에 대해 이해도가 낮은 점 양해 부탁드립니다! 1. Kafka 미사용시 주문생성/회원가입요청의 타임아웃 및 10분뒤 실행에 대한 해결책으로 Kafka 를 선택한 이유는 배압조절(back pressure) 때문입니다. 이렇게 말씀을 해주셨는데요, 답변에서 말씀하신 예시에서 처럼 10000개 요청이 있고, 카프카를 사용한다면, 요청 100개가 쌓일때마다 db에 insert를 하고, 다시 요청 100개가 쌓일때까지 기다렸다가 insert 하기를 반복한다는 것으로 이해하면 될까요? 2. 그게 맞다면, 강의에서 구현한 apply 메서드에서 100개의 요청이 왔는지 확인하지 않고, kafka를 사용해서 다른곳에 전달하여 처리하는 이유는 무엇인가요? 예시로 apply 메서드 안에서 redis의 incr 값을 체크하면 요청이 몇개가 쌓였는지 알 수 있을테고, 데이터를 임시저장하다가 100개마다 처리할 수 있을거란 생각이 들었습니다. kafka로 다른 모듈로 전달하는 것과의 차이점이 무엇인가 궁금합니다. 3. 실제로 consumer에서 100개의 작업이 완료되었는지는 일반적으로 어떻게 확인하는 걸까요? db에 저장하기 전에 100개의 데이터는 어디에 임시저장을 하나요?
안녕하세요. 강의를 따라 애져에 계정을 만들고 GPU 가상 머신을 만들려고 했습니다. 그런데 Quota가 모자르다고 나오면서 진행이 안되고 있습니다. 강의를 보면 Quota를 늘리는 것에 대한 내용이 간단하게 나오는데요, 이부분에 대해 좀 더 설명해 주실 수 있으신가요? 참고로 저는 East US 2 Region을 사용하고 있고 현재 3개의 vCPU를 사용할 수 있다고 나옵니다.
dash board 접근 시, https://192.168.64.30:6443/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login { "kind": "Status", "apiVersion": "v1", "metadata": { }, "status": "Failure", "message": "services \"https:kubernetes-dashboard:\" is forbidden: User \"system:anonymous\" cannot get resource \"services/proxy\" in API group \"\" in the namespace \"kubernetes-dashboard\"", "reason": "Forbidden", "details": { "name": "https:kubernetes-dashboard:", "kind": "services" }, "code": 403 } 해당 오류가 발생합니다 권한 문제 같은데.... 인증서도 정상적으로 신뢰함으로 동작하고 있습니다!
docker run -d -p 8080:3000 --name defaultColorApp devwikirepo/envnodecolorapp 제가 이해하고 있는 부분 해당 도커 실행 명령어 중 docker run -d -p 8080:3000 명령어는 호스트의 8080 포트를 컨테이너의 3000 포트에 매핑하여 실행한다. 제가 시도한 부분 docker run -d -p 8080:3000 docker run -d -p 8080:3001 로 내부 컨테이터 포트를(3000 -> 3001) 바꾸게 되면 동작하지 않습니다. 제 생각에는 해당 이미지에 할당된 포트번호 있다고 예상했고 docker image inspect devwikirepo/envnodecolorapp 을 실행 후 해당 이미지 Json에 포트번호가 있는것을 확인했습니다. "ExposedPorts": { "3000/tcp": {} }, 제가 궁금한 부분 1. "ExposedPorts" 의 "3000/tcp": 내부 컨테이너 포트번호는 별도로 세팅할 수 없나요? 2. 제가 시도하여 찾은 "ExposedPorts"의 "3000/tcp": {} 이 docker run -d -p 8080:3000 명령어의 :3000 과 같나요? 3. 8080:3001 로 내부 컨테이너 포트번호를 변경 시 컨테이너 실행은 정상적으로 되지만 왜 Nginx에 접속할 수 없는 걸까요?
맥에서 iterm에 접속하고 docker -version을 치면 docker server의 os가 linux로 나와있어서 그때부터 의문점이 생겨 질문드립니다. 도커가 리눅스 커널(Namespace, Cgroups)를 활용하여 컨테이너를 만들고 관리하는 것 같습니다. 그런데 맥에서는 어떻게 이게 가능한건지 궁금합니다. 제 예상으로는 도커 데스크탑이 어떤 기술에 의해 리눅스명령을 도커에 실행하면 도커가 명령을 받고 필요한 시스템 콜을 요청할때 도커 데스크탑이 맥 os가 알아들을 수 있게 변환작업을 하는 것같은데 맞는 걸까요?
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] (https://www.inflearn.com/blogs/1719) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up 으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. ( https://www.inflearn.com/questions/992407/comment/281901 ) 6. ARM 계열의 m1 , m2 계열은 VirtualBox를 통한 구성이 원할하지 않고, 실습 환경의 다변화는 추후 대처하기 어려워서 현재 과정에서는 지원하지 않습니다. ( https://www.inflearn.com/questions/915529 ) [질문 하기] vagrant 설치해도 HashiCorp 폴더가 생기지 않아 임의로 c드라이브에 HashiCorp 폴더 생성하여 깃 클론해온 자료 압축 풀고 vagrant up 시 에러 발생합니다. 에러 문구는 댓글에 복붙해놓겠습니다.
File "/usr/local/lib/python3.9/site-packages/MySQLdb/connections.py", line 193, in init super().__init__(*args, **kwargs2) django.db.utils.OperationalError: (1044, "Access denied for user 'django'@'%' to database 'django'") mariadb 컨테이너를 실행 후, django 컨테이너를 실행 시 위와 같은 오류가 발생합니다. 찾아보니 django 에 대한 권한이 없어서 그렇다고 하는데, 해결방법이 있을까요?
마지막 배포시에 Run echo "***" | docker login -u "***" --password-stdin 2 echo "***" | docker login -u "***" --password-stdin 3 shell: /usr/bin/bash -e {0} 4 Error response from daemon: Get " https://registry-1.docker.io/v2/ ": unauthorized: incorrect username or password 5 Error: Process completed with exit code 1. 에러가 지속적으로 발생합니다. 도커 로그인에 사용되는 유저네임과 비밀번호를 그대로 입력하였음에도 계속해서 발생하는 문제입니다.
현재 강좌까지 들은 상황에서 궁금한 점이 있어 글을 쓰게 되었습니다. 이미지 안에 OS 도 포함된 것으로 보이는데 그렇다면 이미지를 만드는 주체자는 각 OS 별로 별도로 파일들을 만들어줘야 하나요? 그렇다면 너무 많은 이미지를 생성해야하는 것 아닌가 하는 의문이 듭니다. -- 강의 설명이 아주 친절해서 좋은 것 같아요. :)
안녕하세요. 강의를 듣고 있는 초보 개발자입니다. test 코드 만드는 부분에서 오류가 나서 진도를 못나가고 있는 상태입니다. export createApp을 했음에도 불구하고 index.test.ts 파일에서 import createApp을 한 후 let app: Express.Application 선언 후 app을 request 인자로 넣을 때 오류가 납니다. 또 한가지 질문은 os 환경이 windows인데 redis 설치를 했습니다만 이게 node api와 연동이 되고 있는건지 잘 모르겠습니다..ㅠㅠ redis cli에서 list에 push한 후 typescript로 만든 api를 구동해서 push를 했을 때 성공했다고 postman으로 확인을 했는데 get을 호출하면 [] 빈 리스트가 반환됩니다..ㅠㅠ 제가 node와 타입스크립트로 개발이 처음이라 너무 힘듭니다ㅠㅠ 진도를 나가고싶은데 이 코드를 통해서 빌드 배포를 하는 거 같아서 강의를 처음부터 계속 다시 돌려보면서 프로젝트만 지웠다 다시 만들었다만 반복 중입니다.. 도움 좀 부탁 드리겠습니다.
docker exec -it kafka kafka-topics.sh --bootstrap-server localhost:9092 --create --topic testTopic 위와 같이 터미널에 토픽생성하는 명령어를 작성하면 아무것도 |움직이지 않고 터미널이 멈춥니다. 도커는 정상적으로 실행하고 kafka,zookeeper도 정상적으로 실행되어있습니다. 도커를 삭제하고 다시 다운로드해서 docker compose사용해서 kafka,zookeeper이미지 다시 작동시켜도 위와같이 토픽생성 명령어 입력하고 작동시 아무것도 안하고 멈춥니다.. (p.s 카프카 컨테이너 cli들어가서도 토픽 생성 명령어 작동시켜도 작동안합니다.) 혹시 해당 문제 해결법 아실까요..?
안녕하세요 강사님 좋은 강의 올려주셔서 감사합니다. 강의 수강을 위해 원본 도표강의 자료 항목에 있는 강의 자료 다운로드 후 열어보려고하니 파일이 확인되지않습니다. (확장자 등을 변경해서 확인하려고해도 불러오지 못하고있습니다.) 혹시 별도의 pdf 리더가 필요한건가요? 바쁘시겟지만 확인 한번 부탁드립니다.
compose.yml 파일 작성 하여 실행시에 하기처럼 실행과정에서 db 와 disconnect 관련 문구가 출력되는게 확인되었습니다. [실행 과정 중 확인된 구문] guestbook-backend-1 | App listening on port 8000 guestbook-backend-1 | Press Ctrl+C to quit. guestbook-backend-1 | Disconnected: unable to reconnect to mongodb://db:27017/guestbook guestbook-backend-1 | /backend/node_modules/mongoose/node_modules/mongodb/lib/operations/mongo_client_ops.js:474 guestbook-backend-1 | throw err; guestbook-backend-1 | ^ guestbook-backend-1 | guestbook-backend-1 | Error: Disconnected: unable to reconnect to mongodb://db:27017/guestbook guestbook-backend-1 | at NativeConnection.db.on (/backend/routes/messages.js:10:11) guestbook-backend-1 | at emitNone (events.js:106:13) guestbook-backend-1 | at NativeConnection.emit (events.js:208:7) guestbook-backend-1 | at NativeConnection.set (/backend/node_modules/mongoose/lib/connection.js:119:12) guestbook-backend-1 | at /backend/node_modules/mongoose/lib/connection.js:529:26 guestbook-backend-1 | at err (/backend/node_modules/mongoose/node_modules/mongodb/lib/utils.js:415:14) guestbook-backend-1 | at executeCallback (/backend/node_modules/mongoose/node_modules/mongodb/lib/utils.js:404:25) guestbook-backend-1 | at err (/backend/node_modules/mongoose/node_modules/mongodb/lib/operations/mongo_client_ops.js:293:21) guestbook-backend-1 | at connectCallback (/backend/node_modules/mongoose/node_modules/mongodb/lib/operations/mongo_client_ops.js:249:5) guestbook-backend-1 | at process.nextTick (/backend/node_modules/mongoose/node_modules/mongodb/lib/operations/mongo_client_ops.js:471:7) guestbook-backend-1 | at combinedTickCallback (internal/process/next tick.js:132:7) guestbook-backend-1 | at process._tickCallback (internal/process/next_tick.js:181:9) 제가 작성한 구문의 문제인가 싶어 수업자료로 올라와있는 구문을 사용할시에도 동일하게 에러가 확인되었습니다. (로컬 인프라 환경은 aws ec2 ubuntu 22.04 입니다.) 다만 해당 에러 확인 후에 혹시나 싶어 포트 접근 해보니 정상적으로 페이지 오픈 및 방명록 기록까지 진행되었습니다. 확인 한번만 부탁드립니다.
Window에서 Volume을 적용할 때 작동하지 않는 경우가 있습니다. 예를 들어, "Hello"를 "Hello123"으로 바꿔도 여전히 "Hello"만 나오는 경우입니다. 이런 경우 이전 강의(또는 안내)에서 알려주신 것을 잘 참고해야합니다. 강사님의 안내는 다음과 같습니다. Mac의 경우 아래를 사용한다. docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v $(pwd) :/usr/src/app anonymous123/nodejs 하지만, 윈도우의 경우는 아래를 사용해야한다. docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v %cd% :/usr/src/app anonymous123/nodejs 하지만, 저는 Window를 사용하고 있지만 Bash Shell 을 사용하고 있었기 때문에 %cd%이 아닌 $(pwd)를 사용해야지 명령어가 작동이 되었습니다. 예상할 수 있듯이 이렇게 하면 Volume이 작동되지 않습니다. 그렇기 때문에 cmd 를 이용하여 %cd% 방식으로 해줘야지 volume이 정상 작동 합니다. 결국 OS가 Window라서 그런거 같은데,,, 솔직히 잘은 모르겠습니다 😂 도움이 되셨으면 좋겠습니다!!