묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
어떤 것이 업데이트 된 건가요?
강의를 한 번 수강했던 수강생입니다.반년전 듣고 실습을 안해서 까먹어서 다시 들어볼려고 하는데 어떤 게 업데이트 된 건지 알 수 있을까요? 기존에 커리큘럼별 강의 제목은 같은데 업데이트 된 건가요? 아니면 새로 찍으신 강의가 별도로 올라와있는건가요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
spring_cloud_gateway_requests_seconds_count를 Execute시 다른 요청을 하지 않았음에도 오류 요청의 숫자가 계속 증가합니다.
spring_cloud_gateway_requests_seconds_count{httpMethod="GET", httpStatusCode="401", instance="localhost:8000", job="apigateway-service", outcome="CLIENT_ERROR", routeId="user-service", routeUri="lb://USER-SERVICE", status="UNAUTHORIZED"}22spring_cloud_gateway_requests_seconds_count{httpMethod="GET", httpStatusCode="404", instance="localhost:8000", job="apigateway-service", outcome="CLIENT_ERROR", routeId="order-service", routeUri="lb://ORDER-SERVICE", status="NOT_FOUND"}회원가입과 로그인만 하더라도 이러한 것들의 숫자가 올라가 총 요청 수 중 성공한 숫자가 매우 적습니다. chat gpt에서는 자동으로 health-check를 해서 그렇다라고는 하는데 정확히 어떤 것이 문제인지 잘 모르겠습니다.
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Sink Connect시 테이블 생성아 안됩니다
현재 my-sink-connect 등록도 잘되었고 아무 문제없이 작동을 잘 합니다. 또한 파워쉘을 통해서 데이터가 shema형태로 잘 통신되는 것도 확인 잘 되었습니다. 하지만 my_topic_users 테이블이 생성되지 않아 문제가 생겼습니다. 오류 메시지나 로그 또한 아무것도 나오지 않아 해결을 어떻게 할지 잘 모르겠습니다. PS C:\Work\kafka_2.12-3.4.0> .\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic my_topic_users --from-beginning{"schema":{"type":"struct","fields":[{"type":"int32","optional":false,"field":"id"},{"type":"string","optional":true,"field":"user_id"},{"type":"string","optional":true,"field":"pwd"},{"type":"string","optional":true,"field":"name"},{"type":"int64","optional":true,"name":"org.apache.kafka.connect.data.Timestamp","version":1,"field":"created_at"}],"optional":false,"name":"users"},"payload":{"id":1,"user_id":"user1","pwd":"1111","name":"userA","created_at":1753221466000}}{"schema":{"type":"struct","fields":[{"type":"int32","optional":false,"field":"id"},{"type":"string","optional":true,"field":"user_id"},{"type":"string","optional":true,"field":"pwd"},{"type":"string","optional":true,"field":"name"},{"type":"int64","optional":true,"name":"org.apache.kafka.connect.data.Timestamp","version":1,"field":"created_at"}],"optional":false,"name":"users"},"payload":{"id":2,"user_id":"user2","pwd":"2222","name":"userB","created_at":1753221589000}}mysql> use mydb;Database changedmysql> show tables;+----------------+| Tables_in_mydb |+----------------+| orders || users |+----------------+ { "name": "my-sink-connect", "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector", "delete.enabled": "false", "connection.password": "test1357", "auto.evolve": "true", "connection.user": "root", "tasks.max": "1", "topics": "my_topic_users", "value.converter.schemas.enable": "true", "name": "my-sink-connect", "auto.create": "true", "connection.url": "jdbc:mysql://localhost:3306/mydb" }, "tasks": [ { "connector": "my-sink-connect", "task": 0 } ], "type": "sink" }
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka connect 연결시 Mysql Access Denied 문제해결법
java.sql.SQLException: No suitable driver found for jdbc:h2:mem:testdbjava.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)현재 kafak connect 연결시 이런 오류가 뜹니다. order-service를 mariadb Driver로 설정했는데 왜 h2메모리방식의 드라이버를 찾는지 이유를 잘 모르겠으며 해결방법이 절실합니다. Kafka의 zookeeper, Kafka server는 현재 작동이 잘됩니다. 윈도우 사용자입니다. 도움이 절실합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka connect 실행시 No suitable driver 해결이 안됩니다
현재 zookeeper, kafka server는 다 실행되고 topic list도 잘 나오는 상황입니다. 하지만 현재Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/mydb이 에러 때문에 진도를 못나가고 있는 상황입니다. 강의 그대로 했음에도 불구하고 어떤것이 문제인지 모르겠습니다. 제발 도와주세요
-
미해결마이크로서비스 디자인 패턴 완벽 가이드
k8s 를 고려한 개발은 어떻게 진행하나요?
안녕하세요. 강의 흥미있게 듣고있습니다.궁금한 점이 있는데, 스프링 클라우드에서 제공하는 api-gateway 나 config server, discovery 등 k8s 로 배포하게 되면 각각 대체할 수 있는 서비스 들이 존재하는데,실제 실무에서 개발할때는 어떤식으로 진행하는지 궁금합니다.스프링 클라우드로 개발한 후 k8s에 맞게 변경하나요? 아니면 처음부터 k8s 에 겨냥해서 개발을 진행하나요?
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
혹시나 gradle 로 실행 어떻게 해야하나 싶으신 분들
저는 기존에 jdk 11 을 환경변수로 넣고 있어서 jdk21 은 인텔리제이에서 잡아다 쓰고 있었는데, 터미널은 시스템의 환경변수를 따라가다보니 좀 귀찮아서 찾아보니까 프로젝트 루트 디렉토리에 gradle.properties 라는 파일 생성한 뒤 org.gradle.java.home= 의 값을 넣어줘야합니다. 인텔리제이 상단 메뉴에서 File -> project Structure -> SDKs -> jdk21 버전 클릭 -> 'JDK home path' 의 경로를 통째로 org.gradle.java.home 의 값으로 복붙 -> 역슬래시(\)는 슬래시(/) 로 변경 -> 우측 사이드 패널에서 코끼리(gradle) 펼쳐다가 수동으로 새로고침 -> 인텔리제이 터미널에서 ./gradlew bootRun --args='--server.port={포트번호}' 입력하면 잘 됩니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
안녕하세요 라우트 과정에서 http프로토콜 -> lb 프로토콜 질문 있습니다.
기존에는 http://localhost:8081 과같이 보내줬는데, 이걸 lb:/MY-FIRST-SERVICE로 바꿨습니다.그렇다면, 원래 localhost:8081로 직접 http 프로토콜로 보내줬던건, 유레카를 거치지 않았고, 하드코딩으로 직접 보내줬던 것이고, 그리고 lb:/를 이용하는 것이 유레카에 저장되어 있는, 정보들을 통해 읽어와서 동적으로 보내주는 것으로 이해하였는데, 제가 이해한게 맞을까요?
-
미해결마이크로서비스 디자인 패턴 완벽 가이드
gPRC 와 서비스 디스커버리에 대해 질문드립니다.
안녕하세요.MSA 에서는 n 개의 같고 다른 여러 서비스들이 존재하고 이를 구분 하기 위해 discovery 서비스를 사용 하고 있는 것으로 알고 있습니다.spring cloud 를 통해 서비스 디스커버리를 사용하면 서비스와 서비스가 사용하는 (web 구성인 경우) 서비스 포트가 자동으로 등록되고 찾아지는 자동화된 구성이 지원되어 사용하기가 편리한데요.외부 web 과 내부 grpc 통신을 하는 서비스는 각각 통신을 위한 포트 바인딩이 필요한데 이때 서비스가 n 개가 될때 discovery 서비스를 보통 어떻게 사용해서 구성하는지 궁금해서 질문 드리게 되었습니다.플랫폼 기반 디스커버리가 된다면 크게 신경을 쓰지 않아도 될듯하나 어플리케이션 레이어에서 디스커버리를 사용할때는 보통 어떻게 구성이 될까요?
-
해결됨빠르게 배우는 Spring Cloud 기초(MSA)
노션 URL 못찾음
안녕하세요. 영상에 나오는 notion URL이 다릅니다.https://picturesque-staircase-f6e.notion.site/SpringCloud-MSA-e8692d14d37f4ff3be4874321e9b5077에는 Apigateway yml 환경설정 파일이 안보입니다.그렇다고 일일이 MSA- 다음에 나오는 걸 타이핑해서 들어가 볼 수도 없구요.제가 잘못 알고 있는 건가요?강의 하단에 노션 링크가 별도로 있거나 쉽게 들어갈 수 있게 되어 있으면 좋겠습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
최신 webflux 라이브러리에서 yml 작성법
server: port: 8000 eureka: client: register-with-eureka: false fetch-registry: false service-url: defaultZone: http://localhost:8761/eureka spring: application: name: apigateway-service cloud: gateway: server: webflux: routes: - id: first-service uri: http://localhost:8081/ predicates: - Path=/first-service/** filters: - AddRequestHeader=first-request, first-request-header2 - AddResponseHeader=first-response, first-response-header2 - id: second-service uri: http://localhost:8082/ predicates: - Path=/second-service/** filters: - AddRequestHeader=second-request, second-request-header2 - AddResponseHeader=second-response, second-response-header2위처럼 weflux:라고 yml에서 작성해주셔야 잘 동작합니다.
-
미해결마이크로서비스 디자인 패턴 완벽 가이드
일부 강의가 재생이 되지 않습니다
48강 , 57 강 65강 이 재생이 되지 않는것 같습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
docker mariadb 실행
백업은 안하려고 한참 헤메다, 결국 백업으로 해결했네요..ㅎ..환경: window pc에 mariadb client 버전을 설치함dump 생성client 버전이기 떄문에, “mariadb prompt” 를 실행해서 아래의 명령어 실행(cmd에서 mariadb, mysql 명령어 동작 안함)# 생성할 위치로 이동하시거나, 덤프 생성할때 경로 작성하시요. cd "어느 경로"/docker_file # 덤프 생성 mysqldump -u root -p --all-databases > all.sql Dockerfile 생성# Docker Hub에서 공식 MariaDB 이미지 사용 FROM mariadb:latest # 초기화 시 자동 실행될 SQL 복사 COPY ./all.sql /docker-entrypoint-initdb.d/ # 포트 개방 EXPOSE 3306 이미지 생성 및 컨테이너 실행docker build -t [당신의 게정은?]/mariadb:1.0 . docker run -d \\ -p 13306:3306 \\ --name mariadb \\ --network ecommerce-network \\ -e MARIADB_ROOT_PASSWORD=[당신의 root 비번]\\ kimjinwon1432/mariadb:1.0 =============== 추가 ==============강사님께서 알려주신 방법으로 진행해봤어요.일단, 제 pc의 mariadb 설치경로가 "C:\Program Files" 였기 때문에, mariadb폴더 내의 data 폴더와 그 하위 파일 및 디렉터리를 C: 밑에 우리가 사용하는 docker_file 폴더에 넣었습니다* Program Files를 경로로 잡으시면 13에러 코드가 발생합니다. 이는 권한 관련 문제이므로 cli에서 사용하시는 계정에 대해서 mariadb 폴더 내부에 권한을 주셔도 소용이 없어요.* 이 과정은 이전에 설치한 mariadb 이미지가 있으면 삭제?하거나 이미지의 이름을 변경해서 진행하세요.(전 삭제함) * 제 pc의 mariadb 의 버전이 11.4.2여서, docker에서 사용할 수 있는 가장 근접한 버전으로 진행했습니다. docker run -d -p 13306:3306 --network ecommerce-network \ -e MARIADB_ROOT_PASSWORD=[비번] \ --name mariadb -v "C:\study\SpringCloud\docker_files\data:/var/lib/mysql" \ mariadb:11.4.7이렇게 하시면 docker exec -it ~~~ /bin/bash를 통해서 db에 접속 후 데이터베이스를 확인하면 로컬에서 작업했던 db의 데이터가 docker로 전해진 것을 확인 할 수 있어요.
-
미해결마이크로서비스 디자인 패턴 완벽 가이드
https://github.com/joneconsulting/eshop 소스
강의에 나온https://github.com/joneconsulting/eshop강의 공개 후에도 비공개 레포지토리로 보이는데요어디서 확인가능할까요
-
미해결마이크로서비스 디자인 패턴 완벽 가이드
강의 pdf교재는 별도로 없나요?
강의 pdf교재는 별도로 없나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
수업 방식 질문
맨 마지막 섹션 19는 그냥 차례대로 읽으면서 진행하면 되는건가요 ?어떻게 학습을 해야 하는건가요 .. ;; 그리고 이번에 새롭게 강의 내셨던데 기존거랑 뭐가 다른건가요 ? 얼마전에 강의 산 사람은 어떻게 하나요 ?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
암호화 관련 질문
실무에서 설정 파일의 내용을 어떻게 관리하시는지 궁금하여 질문 드립니다. 제 생각엔 [ '평문' -> jasypt 암호화 -> keytool 암호화 ] 이 과정으로 서버에 설정 정보를 저장하는 것이 좋을 거 같은데, 사바사 일거 같지만.... 보통 이렇게 2번 암호화를 하는지 궁금하네요.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의 콘텐츠 업데이트 일정
안녕하세요. 수강평들을 살펴보니 올해 상반기 중으로 강의를 업데이트 할 계획이라고 하신 것을 봤습니다. 상반기중에 업데이트 완료될 지, 그리고 업데이트 될 거라면 업데이트 예정 일정 정도를 대략적으로 알 수 있을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
안녕하세요 강의 포스트맨 요청 데이터 공유받을수 있을까요?
강의 도중에 포스트맨 구글 로그인 하니 데이터가 사라졌습니다혹시 갖고계시면 공유좀 받을수 있을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
카프카 도커 오류
강의대로 docker-compose-single-brokey.yml 파일 작성하고 파일 안에 맨 밑에networks: my-network: external: true name: ecommerce-network 이렇게도 작성하고 아래 명령어 그대로 docker-compose -f docker-compose-single-broker.yml up -d 입력했는데 Error response from daemon: user specified IP address is supported only when connecting to networks with user configured subnets 이런 오류 가 발생합니다..