묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결15일간의 빅데이터 파일럿 프로젝트
클라우데라 ERR_SSL_PROTOCOL_ERROR 문제
안녕하세요VM환경구성 중 클라우데라가 접속이 안되어 질문드립니다.기존에 잘 접속이 되었었는데,CPU와 메모리 문제로 가상서버 2개를 구동하면컴퓨터가 다운이 되어 작업이 불가능한 상태였습니다그래서 램16GB, SSD 1TB를 추가하였는데요이후에 가상서버를 실행 후 클라우데라 접속이 되지 않습니다ㅜㅜserver01.hadoop.com:7180입력 후 화면기존에 C드라이브에 프로젝트 서버 파일과 버츄얼박스를 깔아두었는데 D드라이브로 옮겨 실행하니 되지 않았습니다.다시 모두 지우고, C드라이브에 프로젝트파일, 버츄얼박스 설치후 실행하여도 동일하게 프로토콜 에러가 나네요ㅜ 구글링을 해보았지만 .. 초반에 디스크 공간이 부족한 상태에서도 클라우데라 매니저 접속이 되었던걸 생각하면 어떤게 무엇인지 잘 파악이 되지 않습니다.버츄얼박스 서버2개 실행후 컴퓨터 성능 현황은 아래와 같습니다 메모장으로 hosts 파일 수정도 완료한 상태입니다. 버츄얼박스는 커뮤니티에 이전분들이 올려주신 질의내용 참고하여 제일 최근 버전(VirtualBox-7.0.20)으로 사용하고 있습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
First service gateway service 연동 관련 문의
강의를 따라서 실행하던 도중 security 관련 의존성을 추가한 적이 없는데 localhost:8000/first-service/welcome으로 접속을 하면 위 사진과 같은 경로로 리다이렉트 되면서 에러가 발생합니ㄷㅏ.어떤 이유에서 이 경로로 리다이렉트가 되는걸까요? 아래는 설정 파일들을 사진으로 First-service는 정상적으로 잘 작동됩니다
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka Connector POST 요청시 에러 발생
안녕하세요. 강의 잘 듣고 있습니다. Kafka Connector 연결 부분에서 "my-source-connect" 를 등록하기 위해 POST 요청을 보내면, 아래와 같은 에러 로그가 발생합니다. (postman에서는 등록 요청시에는 201로 나오지만, status를 조회할 경우에는 fail로 나옵니다.)무슨 이유인지 알 수 있을까요?[2024-10-22 21:39:08,470] ERROR WorkerConnector{id=my-source-connect} Error while starting connector (org.apache.kafka.connect.runtime.WorkerConnector:193)java.lang.NoSuchMethodError: 'boolean org.apache.kafka.common.utils.Utils.isBlank(java.lang.String)' at io.confluent.connect.jdbc.util.StringUtils.isNotBlank(StringUtils.java:79) at io.confluent.connect.jdbc.dialect.GenericDatabaseDialect.getJdbcCredentialsProvider(GenericDatabaseDialect.java:2010) at io.confluent.connect.jdbc.dialect.GenericDatabaseDialect.<init>(GenericDatabaseDialect.java:192) at io.confluent.connect.jdbc.dialect.MySqlDatabaseDialect.<init>(MySqlDatabaseDialect.java:67) at io.confluent.connect.jdbc.dialect.MySqlDatabaseDialect$Provider.create(MySqlDatabaseDialect.java:57) at io.confluent.connect.jdbc.dialect.DatabaseDialects.findBestFor(DatabaseDialects.java:134) at io.confluent.connect.jdbc.JdbcSourceConnector.start(JdbcSourceConnector.java:87) at org.apache.kafka.connect.runtime.WorkerConnector.doStart(WorkerConnector.java:185) at org.apache.kafka.connect.runtime.WorkerConnector.start(WorkerConnector.java:210) at org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:349) at org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:332) at org.apache.kafka.connect.runtime.WorkerConnector.doRun(WorkerConnector.java:140) at org.apache.kafka.connect.runtime.WorkerConnector.run(WorkerConnector.java:117) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833)[2024-10-22 21:39:08,472] INFO [Worker clientId=connect-1, groupId=connect-cluster] Session key updated (org.apache.kafka.connect.runtime.distributed.DistributedHerder:1578)[2024-10-22 21:39:08,474] ERROR [Worker clientId=connect-1, groupId=connect-cluster] Failed to start connector 'my-source-connect' (org.apache.kafka.connect.runtime.distributed.DistributedHerder:1339)org.apache.kafka.connect.errors.ConnectException: Failed to start connector: my-source-connect
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
혹시 강의에서 오토스케일링은 배울수있을까요?
모든강의를 구매할 예정입니다.스프링 강의를 제외하고 구매하고싶습니다만 현재 까지 강의를 들었을때 제가 스프링 서버를 두개를 뛰운다음에 유레카로 로드밸런싱하는것 같은데 필요에따라서(서비스요청이 많아지면)자동적이게 설정한대로 확장하게 만들수 있나요? 이건 젠키스 강의로봐야하나요?- 오토스케일링 여부또한 하나의 ec2 에 모든 로직을 넣어서 확장하는게 아니라 여려 ec2 에서 스케일링 하는 강의가있나요?스프링 배포까지 공부해야할까요?-ec2 분산 여부
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
학습방법 질문드립니다.
3.x 버전 업데이트 해서 구매했습니다.그럼 실습 부분은 아래에있는 3.x 버전만 보면되나요?위의 2.x 는 생략해도되나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
토큰의 id값 검증
해결했습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka 통신 클라이언트 응답 질문
서비스 로직이 실행될때 Kafka 통해 이벤트를 발행하는 순간 클라이언트 응답이 성공으로 나가는데만약 이 이벤트를 처리하는 컨슈머쪽에서 실패한다고하면 클라이언트 응답은 이미 성공으로 보내졌는데실패했다는걸 어떻게 알리나요? 보상트랜잭션을 발행해서 데이터를 되돌리는건 이해가 되지만 클라이언트 응답에 대해서는 어떻게 해야될지 궁굼합니다 Ex) 주문후 재고감소 이벤트를 발행하는 순간 클라이언트 응답은 성공으로감하지만 재고감소하는 서비스에서 실패를 한다고하면?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
kafka retention 관련하여 질문드립니다.
안녕하세요, 좋은 강의를 통해 카프카에 대해 학습하고 있어 우선 감사 인사 드립니다. kafka retention을 시간 단위로 설정한 경우 액티브 세그먼트가 아닌 세그먼트에 대해 생성일 기준으로 설정한 시간이 지났을 때 삭제된다고 설명해주셨는데, retention이 레코드 단위가 아닌 세그먼트 단위로 발생하다보니 세그먼트의 마지막 레코드의 경우 특정 상황에서 저장되자마자 삭제되는 상황도 발생할 수 있을 것 같은데 맞는지 궁금합니다. 위의 케이스가 발생할 수 있는 케이스라면 해당 상황에서 장애가 발생하였을 때 메시지를 확인하지 못하는 문제가 있을 것 같아요. 이럴 때는 어떻게 대처할 수 있을까요? 추가로 레코드 단위로 retention을 처리할 수 있는 방법도 있을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
안녕하세요 Eureka 관련 질문 있습니다.
AWS ECS를 통해 MSA 프로젝트를 배포하려고 노력중입니다. Eureka, Api Gateway, 그리고 나머지 서비스를 배포하려고 하는데, 유레카가 ECS 환경에서 잘 검색하고 있지 못한 것 같습니다. 왜 이런지 도저히 감이 안잡혀서 질문 올립니다. 그림에 있는 것과 마찬가지로 모두 같은 ip 주소를 가져오고 있습니다. AWS ECS (Fargate) 환경이고, ALB 사용중입니다. 제 추측으로는 저 공통된 ip 주소가 ALB의 ip 주소이지 않을까 해서 다양한 방법을 시도해봤지만 private ip를 유레카가 가지고 있게 하는 것을 실패했습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka connector 등록 후 조회 시 에러
강의에서 알려주신대로 my-source-connect라는 connector를 등록한 후 http://localhost:8083/connectors로 GET 조회시 아래와 같이 connector가 잘 뜨는 것을 확인하고http://localhost:8083/connectors/my-source-connect/status로 GET 조회시 아래와 같은 오류 메시지가 응답됐습니다.{ "name": "my-source-connect", "connector": { "state": "FAILED", "worker_id": "127.0.0.1:8083", "trace": "java.lang.NoSuchMethodError: 'boolean org.apache.kafka.common.utils.Utils.isBlank(java.lang.String)'\n\tat io.confluent.connect.jdbc.util.StringUtils.isNotBlank(StringUtils.java:79)\n\tat io.confluent.connect.jdbc.dialect.GenericDatabaseDialect.getJdbcCredentialsProvider(GenericDatabaseDialect.java:2010)\n\tat io.confluent.connect.jdbc.dialect.GenericDatabaseDialect.<init>(GenericDatabaseDialect.java:192)\n\tat io.confluent.connect.jdbc.dialect.MySqlDatabaseDialect.<init>(MySqlDatabaseDialect.java:67)\n\tat io.confluent.connect.jdbc.dialect.MySqlDatabaseDialect$Provider.create(MySqlDatabaseDialect.java:57)\n\tat io.confluent.connect.jdbc.dialect.DatabaseDialects.findBestFor(DatabaseDialects.java:134)\n\tat io.confluent.connect.jdbc.JdbcSourceConnector.start(JdbcSourceConnector.java:87)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.doStart(WorkerConnector.java:185)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.start(WorkerConnector.java:210)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:349)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:332)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.doRun(WorkerConnector.java:140)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.run(WorkerConnector.java:117)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat java.base/java.lang.Thread.run(Thread.java:840)\n" }, "tasks": [], "type": "source" } kafka connect 터미널 로그에는 다음과 같이 찍혀있었습니다.[2024-10-13 23:15:36,747] ERROR WorkerConnector{id=my-source-connect} Error while starting connector (org.apache.kafka.connect.runtime.WorkerConnector:193) java.lang.NoSuchMethodError: 'boolean org.apache.kafka.common.utils.Utils.isBlank(java.lang.String)' at io.confluent.connect.jdbc.util.StringUtils.isNotBlank(StringUtils.java:79) at io.confluent.connect.jdbc.dialect.GenericDatabaseDialect.getJdbcCredentialsProvider(GenericDatabaseDialect.java:2010) at io.confluent.connect.jdbc.dialect.GenericDatabaseDialect.<init>(GenericDatabaseDialect.java:192) at io.confluent.connect.jdbc.dialect.MySqlDatabaseDialect.<init>(MySqlDatabaseDialect.java:67) at io.confluent.connect.jdbc.dialect.MySqlDatabaseDialect$Provider.create(MySqlDatabaseDialect.java:57) at io.confluent.connect.jdbc.dialect.DatabaseDialects.findBestFor(DatabaseDialects.java:134) at io.confluent.connect.jdbc.JdbcSourceConnector.start(JdbcSourceConnector.java:87) at org.apache.kafka.connect.runtime.WorkerConnector.doStart(WorkerConnector.java:185) at org.apache.kafka.connect.runtime.WorkerConnector.start(WorkerConnector.java:210) at org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:349) at org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:332) at org.apache.kafka.connect.runtime.WorkerConnector.doRun(WorkerConnector.java:140) at org.apache.kafka.connect.runtime.WorkerConnector.run(WorkerConnector.java:117) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) [2024-10-13 23:15:36,747] ERROR [Worker clientId=connect-1, groupId=connect-cluster] Failed to start connector 'my-source-connect' (org.apache.kafka.connect.runtime.distributed.DistributedHerder:1339) org.apache.kafka.connect.errors.ConnectException: Failed to start connector: my-source-connect at org.apache.kafka.connect.runtime.distributed.DistributedHerder.lambda$startConnector$5(DistributedHerder.java:1305) at org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:335) at org.apache.kafka.connect.runtime.WorkerConnector.doRun(WorkerConnector.java:140) at org.apache.kafka.connect.runtime.WorkerConnector.run(WorkerConnector.java:117) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) 다음은 제가 시도해본 해결방법 3가지 입니다. 테이블 이름 수정https://www.inflearn.com/community/questions/618181/source-connector-%EC%98%A4%EB%A5%98?srsltid=AfmBOooaiA_jLl3ijo0mPjPhnhjM4FQeCSDVdXjgXAAHMsN7sojnFkIRusers 테이블은 예약어라고 해서 user1으로 수정해서 POST 요청을 보냈을 때는 아래와 같이 응답이 잘 왔습니다. mariadb-java-client.jar 파일 올바른 폴더에 넣기https://www.inflearn.com/community/questions/970970/kafka-connectors-%EC%97%90%EB%9F%AC?srsltid=AfmBOoopKwFbCFMIgaLAKg5-4urO7Fzzxwl2ChzmqH8evzNEc4H1ECsD다음 글을 참고해서 mariadb-java-client.jar 파일을 아래와 같이 kafka 폴더에 옮겨 놓았습니다 플러그인 확인https://www.inflearn.com/community/questions/245034/localhost-8083-connectors-%ED%98%B8%EC%B6%9C%EC%8B%9C-%EC%97%90%EB%9F%AC%EA%B0%80-%EB%B0%9C%EC%83%9D%ED%95%A9%EB%8B%88%EB%8B%A4?srsltid=AfmBOophiRaXpfFVHkArBbyirgaPdUfbGUP2W8o5Px-k_ZZDJ2b7wgmf다음 글을 참고해서 http://localhost:8083/connector-plugins [ { "class": "io.confluent.connect.jdbc.JdbcSinkConnector", "type": "sink", "version": "10.8.0" }, { "class": "io.confluent.connect.jdbc.JdbcSourceConnector", "type": "source", "version": "10.8.0" }, { "class": "org.apache.kafka.connect.file.FileStreamSinkConnector", "type": "sink", "version": "6.1.0-ccs" }, { "class": "org.apache.kafka.connect.file.FileStreamSourceConnector", "type": "source", "version": "6.1.0-ccs" }, { "class": "org.apache.kafka.connect.mirror.MirrorCheckpointConnector", "type": "source", "version": "1" }, { "class": "org.apache.kafka.connect.mirror.MirrorHeartbeatConnector", "type": "source", "version": "1" }, { "class": "org.apache.kafka.connect.mirror.MirrorSourceConnector", "type": "source", "version": "1" } ]다음과 같이 응답이 왔습니다.jdbc connector는 잘 등록된 것 같습니다.. 뭐가 문제일까요?
-
미해결카프카 완벽 가이드 - 코어편
max.in.flight.requests.per.connection 의 설명이 조금 헷갈립니다.
안녕하세요. max.in.flight.requests.per.connection에 대한 설명이 조금 헷갈려서 질문드립니다. 강의를 들으면 하나의 request 안에 여러개의 배치를 함께 보내는 것처럼 말씀하시는 것처럼 보이는데, 하나의 요청에는 하나의 배치만을 담아서 보내지만 ack를 받지 못하고 계속 보낼 수 있는 요청의 개수가max.in.flight.requests.per.connection 인 것이 아닐까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
apigateway 프로젝트 생성하고 실행시 Timout이출력 됩니다.
안녕하세요 강사님, 강의 영상 잘 보고 있습니다.first-service, second-service 둘다 실행 후에 apigateway-service 실행했습니다. 그런데 apigateway 쪽에서 연결 거부 당했다는 로그가 지속적으로 올라오네요 이유를 모르겠습니다. apigateway 의 application yml파일여기서 궁금한게 defaultZone 설정 해서, discoveryservice 프로젝트도 구동 시켜줬는데, 같은 에러로그가 지속 적으로 올라오네요..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: routes: - id: first-service uri: localhost:8081/first-service predicates: # ??? Path ??? first-service?? ?? uri? ?? - Path=/first-service/** - id: second-service uri: localhost:8082/second-service predicates: # ??? Path ??? second-service?? ?? uri? ?? - Path=/second-service/**콘솔 내용2024-10-07 20:39:53.214 WARN 2024 --- [OvbxrBtUd7XQ-87] o.s.a.r.l.SimpleMessageListenerContainer : Consumer raised exception, processing can restart if the connection factory supports it. Exception summary: org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: no further information 2024-10-07 20:39:53.214 INFO 2024 --- [OvbxrBtUd7XQ-87] o.s.a.r.l.SimpleMessageListenerContainer : Restarting Consumer@4dca89d2: tags=[[]], channel=null, acknowledgeMode=AUTO local queue size=0 2024-10-07 20:39:53.215 INFO 2024 --- [OvbxrBtUd7XQ-88] o.s.a.r.c.CachingConnectionFactory : Attempting to connect to: [localhost:5672] 추가 예외2024-10-07 20:51:37.290 INFO 18012 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8888 2024-10-07 20:51:37.304 INFO 18012 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Connect Timeout Exception on Url - http://localhost:8888. Will be trying the next url if available 2024-10-07 20:51:37.304 WARN 18012 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: I/O error on GET request for "http://localhost:8888/apigateway-service/default": Connection refused: no further information; nested exception is java.net.ConnectException: Connection refused: no further information
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
깃 업데이트 요청드립니다
Spring Boot 3.2 + Spring Cloud 2023.0.0업데이트 예정 (2024-01)위 깃 업데이트 언제 될까요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
브로커의 장애복구 이후 처리과정에 대해서 질문드립니다.
안녕하세요. 강의 너무 잘 듣고있습니다. unclean.leader.election.enable=true 일때, ISR상태가 아닌 상태에서 브로커에 장애가 발생한 경우, 장애가 발생한 브로커를 되살렸을때 처리되지 못한 레코드는 어떻게 처리되나요? 위의 상황을 판단해보면, 아래와 같습니다.ISR여부와 상관없이 다른 리더파티션이 선출되어 작동장애가 발생한 브로커의 시스템에서는 OS레벨 이하의 장애가 아닌상황이라면 카프카 프로세스의 브로커와 다른 생명주기를 가진 OS레벨의 페이지캐시에 의해 파일시스템에 남아있음.브로커가 되살아날 경우 유실되었던 레코드를 포함시켜주는지, 삭제가 되어버리는지, 아니면 별도로 처리를 해야하는지 관련해서 처리 매커니즘을 제공하는것이 있는지 궁금합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
스프링 클라우드가 아닌 다른 방식의 msa 개발 강의문의
이후에 스프링클라우드를 이용하는것이 아나라 쿠버네티스를 이용한 msa 개발 강의를 해주실 의향없나요.
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
일반적인 예시들이 궁금해서 질문 남깁니다.
안녕하세요, 카프카 코어편 보고 커넥트편까지 재밌게? 강의 시청 중입니다. 먼저 좋은 강의 감사합니다.커넥트를 배우면서 궁금한 점이 생겼는데요, 예를 들어 msa, 카프카로 구성된 환경에서 회원가입이라는 로직을 구현한다고 하면, http 요청을 받은 서버가 직접 RDB에 접근해서 데이터를 저장을 하는 것과,요청을 받은 서버가 카프카 브로커로 데이터를 메세지로 보내고, 브로커에서 sink 커넥터가 RDB에 데이터를 저장하는 방식,위 두 방식 중에 어떤 것이 일반적일까요? 회원가입처럼 단순히 저장하는 정도의 로직에서도 이벤트 기반의 아키텍처에서는 카프카를 활용하는 것이 장점이 클까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
게이트웨이의 부하 관련 질문
게이트웨이 서버 로그를 확인하던 중에 문득 이러한 생각이 들었습니다.만약 이 프로젝트가 유저가 굉장히 많은 서비스라면 게이트웨이 자체에 부하가 생길 수 있을 것 같습니다.요청의 수가 굉장히 많아 질 것 같은데, 이러한 경우에 부하분산을 어떻게 해야할까? 게이트웨이 하나에 모든 요청(각 서비스, 모니터링등등)이 많아지면 게이트웨이 서버에 문제가 생기지 않을까? 라는 생각이 들었습니다.스케일업, 스케일아웃 이전에 부하분산할 수 있는 방법을 혹시 제시해주실 수 있으실까요? 현업에서는 어떻게 처리하는지 궁급합니다.또 게이트웨이 서버를 하나 더 띄웠을때 시스템이 더 복잡해질 것 같은데, 어떤 방법들을 사용하고 어떤 점들이 고려되는지도 궁금합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
WebSecurity 설정 질문입니다.
@Bean protected SecurityFilterChain config(HttpSecurity http) throws Exception { http.csrf( (csrf) -> csrf.disable() ); http.authorizeHttpRequests( authorize -> authorize .requestMatchers("/**").permitAll() .anyRequest().authenticated() ); http.headers((headers) -> headers.frameOptions( (frameOptions) -> frameOptions.sameOrigin())); return http.build(); } 이 코드를 @Bean protected SecurityFilterChain config(HttpSecurity http) throws Exception { http.csrf( (csrf) -> csrf.disable() ); http.authorizeHttpRequests( authorize -> authorize .requestMatchers("/**") .access( new WebExpressionAuthorizationManager("hasIpAddress('127.0.0.1') or hasIpAddress('::1') or hasIpAddress('" + MY_IP + "')") ) .anyRequest().authenticated() ); http.headers((headers) -> headers.frameOptions( (frameOptions) -> frameOptions.sameOrigin())); return http.build(); }.access( new WebExpressionAuthorizationManager("hasIpAddress('127.0.0.1') or hasIpAddress('::1') or hasIpAddress('" + MY_IP + "')") ) 이 부분을 추가시키면, 파일 링크로 가는 것이 아니라, info 라는 파일이 다운받아지는데, 어떻게 해결해야 할지 여쭤보고 싶습니다 ㅠㅜ
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
버전이 달라도 진행하는데 큰 차이가 있을까요?
안녕하세요 이제 막 섹션2 들어갔습니다.저는 3.3.3버전을 사용하려 하는데 강의에선 2.4 대 버전을 사용하여 진행하시는데 큰 차이가 있을까요?
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
MSA + vue 질문있습니다
강의를 마치고 vue3와 연동을 하고 있는 중입니다.cors 문제를 해결 중인데 gateway와 각각의 서비스마다 security를 이용해 cors설정을 해줘야 하나요?아니면 gateway만 cors 설정을 해줘야 하나요?