inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

kafka를 왜 사용하는지가 잘 이해가 안가서 질문 남깁니다!

해결됨

실습으로 배우는 선착순 이벤트 시스템

안녕하세요! 강의 잘 듣고 있습니다. 감사합니다. 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개의 데이터는 어디에 임시저장을 하나요?

  • java
  • docker
  • spring-boot
  • kafka
  • redis
dunow 댓글 1 좋아요 1 조회수 1759

빌드과정에서 USER 부분이 궁금합니다.

해결됨

개발자를 위한 쉬운 도커

강의중 해당부분에서 명령을 실행할 사용자를 변경한다고 하셨는데 그러면 궁금한게 해당 사용자에대한 생성과 권한 부여같은것들은 어디에서 진행이 되는것일까요??

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • container
잘열심히 댓글 1 좋아요 2 조회수 293

애져서비스에서 Quota늘리기

미해결

실전도커: 도커로 나만의 딥러닝 클라우드 컴퓨터 만들기

안녕하세요. 강의를 따라 애져에 계정을 만들고 GPU 가상 머신을 만들려고 했습니다. 그런데 Quota가 모자르다고 나오면서 진행이 안되고 있습니다. 강의를 보면 Quota를 늘리는 것에 대한 내용이 간단하게 나오는데요, 이부분에 대해 좀 더 설명해 주실 수 있으신가요? 참고로 저는 East US 2 Region을 사용하고 있고 현재 3개의 vCPU를 사용할 수 있다고 나옵니다.

  • linux
  • docker
  • azure
  • 가상화
  • mlops
Sung Cheol Kim 댓글 3 좋아요 1 조회수 459

kubernetes dashboard v2.7.0 인증서 등록에서 문제

미해결

대세는 쿠버네티스 (초급~중급편)

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
  • kubernetes
Yong Paul 댓글 2 좋아요 1 조회수 610

docker run -d -p 8080:3000 관해서 질문 있습니다.

해결됨

개발자를 위한 쉬운 도커

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에 접속할 수 없는 걸까요?

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • container
최종민 댓글 1 좋아요 2 조회수 894

Deploy를 계속 실패합니다.

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

github에 코드를 푸시하고 action을 확인했을 때 나머지는 정상적으로 수행되는데 Deploy to EB에서 에러가 발생합니다.

  • aws
  • docker
  • github
김인범 댓글 4 좋아요 3 조회수 1465

컨테이너 런타임에 관한 질문이 있습니다.

해결됨

개발자를 위한 쉬운 도커

컨테이너 런타임은 컨테이너를 생성 혹은 제거할때에만 관여하는건가요??

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • container
잘열심히 댓글 1 좋아요 2 조회수 430

맥에서는 도커를 어떻게 사용하는건가요?

미해결

개발자를 위한 쉬운 도커

맥에서 iterm에 접속하고 docker -version을 치면 docker server의 os가 linux로 나와있어서 그때부터 의문점이 생겨 질문드립니다. 도커가 리눅스 커널(Namespace, Cgroups)를 활용하여 컨테이너를 만들고 관리하는 것 같습니다. 그런데 맥에서는 어떻게 이게 가능한건지 궁금합니다. 제 예상으로는 도커 데스크탑이 어떤 기술에 의해 리눅스명령을 도커에 실행하면 도커가 명령을 받고 필요한 시스템 콜을 요청할때 도커 데스크탑이 맥 os가 알아들을 수 있게 변환작업을 하는 것같은데 맞는 걸까요?

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • container
인프런 댓글 1 좋아요 1 조회수 3031

vagrant up 시 에러

미해결

그림으로 배우는 쿠버네티스(v1.35)

질문 답변을 제공하지만, 강의 비용에는 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 시 에러 발생합니다. 에러 문구는 댓글에 복붙해놓겠습니다.

  • docker
  • kubernetes
chad 댓글 4 좋아요 0 조회수 757

502 Bad Gateway

해결됨

작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지

2024/01/15 15:08:24 [error] 22#22: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.64.1, server: , request: "GET / HTTP/1.1", upstream: "http://172.18.0.2:8000/", host: "192.168.64.7" 위와 같은 오류가 발생하는데 문제가 무엇인지 모르겠습니다.

  • python
  • django
  • docker
댓글 0 좋아요 0 조회수 507

mariadb 접근권한 오류

해결됨

작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지

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 에 대한 권한이 없어서 그렇다고 하는데, 해결방법이 있을까요?

  • python
  • django
  • docker
댓글 1 좋아요 0 조회수 594

마지막 배포시에 도커 관련 문제

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

마지막 배포시에 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. 에러가 지속적으로 발생합니다. 도커 로그인에 사용되는 유저네임과 비밀번호를 그대로 입력하였음에도 계속해서 발생하는 문제입니다.

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
매력적인홍홍홍 댓글 3 좋아요 0 조회수 769

이미지안에는 OS 에 관련 궁금한 사항

해결됨

개발자를 위한 쉬운 도커

현재 강좌까지 들은 상황에서 궁금한 점이 있어 글을 쓰게 되었습니다. 이미지 안에 OS 도 포함된 것으로 보이는데 그렇다면 이미지를 만드는 주체자는 각 OS 별로 별도로 파일들을 만들어줘야 하나요? 그렇다면 너무 많은 이미지를 생성해야하는 것 아닌가 하는 의문이 듭니다. -- 강의 설명이 아주 친절해서 좋은 것 같아요. :)

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • container
kimgni.dev 댓글 1 좋아요 3 조회수 516

node api 및 redis 서버

미해결

AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)

안녕하세요. 강의를 듣고 있는 초보 개발자입니다. 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와 타입스크립트로 개발이 처음이라 너무 힘듭니다ㅠㅠ 진도를 나가고싶은데 이 코드를 통해서 빌드 배포를 하는 거 같아서 강의를 처음부터 계속 다시 돌려보면서 프로젝트만 지웠다 다시 만들었다만 반복 중입니다.. 도움 좀 부탁 드리겠습니다.

  • aws
  • docker
  • ci/cd
  • aws-ecs
devY 댓글 2 좋아요 0 조회수 713

카프카 토픽 생성이 안되요.

미해결

실습으로 배우는 선착순 이벤트 시스템

docker exec -it kafka kafka-topics.sh --bootstrap-server localhost:9092 --create --topic testTopic 위와 같이 터미널에 토픽생성하는 명령어를 작성하면 아무것도 |움직이지 않고 터미널이 멈춥니다. 도커는 정상적으로 실행하고 kafka,zookeeper도 정상적으로 실행되어있습니다. 도커를 삭제하고 다시 다운로드해서 docker compose사용해서 kafka,zookeeper이미지 다시 작동시켜도 위와같이 토픽생성 명령어 입력하고 작동시 아무것도 안하고 멈춥니다.. (p.s 카프카 컨테이너 cli들어가서도 토픽 생성 명령어 작동시켜도 작동안합니다.) 혹시 해당 문제 해결법 아실까요..?

  • java
  • docker
  • spring-boot
  • kafka
  • redis
빽도만 하지말자! 댓글 3 좋아요 0 조회수 866

git hub 업로드가 안되서 여쭤봐요

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

저같은경우 윈도우를 사용하고 있는데 두가지경우가 나오질 않아서 깃허브에 확인해보니 이렇게 프리캠프는 생성이 되었는데 들어가보니 강의에서 본것처럼 파일이 업로드 되있질 않았어요.. 어떻게 해야할까요?

  • javascript
  • node.js
  • docker
  • rest-api
  • nestjs
댓글 2 좋아요 0 조회수 1019

강의 자료 관련 질문드립니다.

해결됨

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

안녕하세요 강사님 좋은 강의 올려주셔서 감사합니다. 강의 수강을 위해 원본 도표강의 자료 항목에 있는 강의 자료 다운로드 후 열어보려고하니 파일이 확인되지않습니다. (확장자 등을 변경해서 확인하려고해도 불러오지 못하고있습니다.) 혹시 별도의 pdf 리더가 필요한건가요? 바쁘시겟지만 확인 한번 부탁드립니다.

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
potter119 댓글 1 좋아요 0 조회수 418

방명록 배포과정중 질문이 있습니다.

해결됨

초보를 위한 도커 안내서

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 입니다.) 다만 해당 에러 확인 후에 혹시나 싶어 포트 접근 해보니 정상적으로 페이지 오픈 및 방명록 기록까지 진행되었습니다. 확인 한번만 부탁드립니다.

  • docker
potter119 댓글 1 좋아요 0 조회수 344

Window에서 Volume이 작동하지 않는 문제

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

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라서 그런거 같은데,,, 솔직히 잘은 모르겠습니다 😂 도움이 되셨으면 좋겠습니다!!

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
  • volume
  • window
amenable 댓글 2 좋아요 1 조회수 471

next-auth 로그인 시 unauthorized 문제

미해결

[리뉴얼] React로 NodeBird SNS 만들기

문제가 몇일째 안풀리는게 있어 문의드려요 제가 next-auth를 사용해서 로그인 프로세스를 해보고 있습니다. 로컬에서 별도로 배포환경 만들어서 테스트를 했을 때에는 잘 되는데 배포시에 계속 Unauthorized 에러가 발생해서요 제가 작성한 [...nextauth].ts 코드입니다. import NextAuth, { User } from 'next-auth'; import CredentialsProvider from 'next-auth/providers/credentials'; import { refreshAccessToken } from 'utils/tokenRefresh'; export default NextAuth({ providers: [ CredentialsProvider({ name: 'Credentials', credentials: { userId: { label: 'UserId', type: 'text', placeholder: 'jsmith' }, password: { label: 'Password', type: 'password' }, }, authorize: async (credentials) => { const res = await fetch(`${process.env.NEXT_PUBLIC_BACKEND_URL}/api/v1/users/signin`, { method: 'POST', body: JSON.stringify({ userId: credentials!.userId, password: credentials!.password, }), headers: { 'Content-Type': 'application/json' }, }); const user = await res.json(); // 로그인 성공 시 사용자 객체를 반환하고, 실패 시 null을 반환 if (res.ok && user) { console.log('ok user', user); return user; } else { console.log('error user', user); return false; } }, }), ], secret: process.env.NEXTAUTH_SECRET, // session: { // strategy: 'jwt', // maxAge: 0, // 브라우저가 닫히면 세션 종료 // // updateAge: 24 * 60 * 60, // 24시간마다 세션 갱신 (옵션) // }, callbacks: { async jwt({ token, user }) { // 사용자 로그인 시 토큰 설정 if (user) { return { ...token, accessJwt: user.result?.accessJwt, refreshJwt: user.result?.refreshJwt, companyId: user.result?.companyId, userName: user.result?.userName, accessTokenExpires: Date.now() + 3600 * 1000, }; } // 토큰 만료 확인 및 리프레시 if (Date.now() > token.accessTokenExpires!) { const newAccessJwt = await refreshAccessToken(token.refreshJwt!); return refreshAccessToken(newAccessJwt); } return token; }, async session({ session, token }) { if (token && token.accessJwt) { const customUser = session.user as User; if (!customUser.result) { customUser.result = { accessJwt: '', refreshJwt: '', companyId: '', userName: '', }; } customUser.result.accessJwt = token.accessJwt; customUser.result.refreshJwt = token.refreshJwt; customUser.result.companyId = token.companyId; customUser.result.userName = token.userName; session.user = customUser; } return session; }, }, }); NEXT_PUBLIC_BACKEND_URL 환경변수는 별도의 백엔드를 구성한 주소이구요 배포는 도커를 사용했습니다. FROM node:20.10 as builder # pnpm 설치 RUN npm install -g pnpm WORKDIR /usr/src/app COPY package*.json ./ RUN pnpm install ARG NEXT_PUBLIC_BACKEND_URL ARG NEXTAUTH_SECRET COPY . . RUN NEXT_PUBLIC_BACKEND_URL=https://${NEXT_PUBLIC_BACKEND_URL} NEXTAUTH_SECRET=${NEXTAUTH_SECRET} pnpm run build FROM node:20.10 RUN npm install -g pnpm WORKDIR /usr/src/app COPY --from=builder /usr/src/app/package*.json ./ RUN pnpm install --prod COPY --from=builder /usr/src/app . # COPY --from=builder /usr/src/app/.next ./.next EXPOSE 3000 CMD ["pnpm", "run", "dev"] NEXTAUTH_SECRET은 프론트 주소를 도커 실행 시 넣어줘야 한대서 도커 실행 할 때 환경변수로 따로 넣어줬구요 Docs, Stackoverflow, ChatGPT 등 여러 방면으로 찾아봤는데 해결이 안되더라구요.. 강의하고는 별개 내용이긴 한데 더이상 물어볼 데가 없어서 강사님께 여쭈어봅니다..

  • react
  • redux
  • node.js
  • express
  • next.js
  • next-auth
  • docker
댓글 2 좋아요 0 조회수 789

인기 태그

인프런 TOP Writers

주간 인기글