묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의 중간중간 쿵쿵 거리면서 강의소리 안들려요
강의 중간중간 쿵쿵 거리면서 강의소리 안들려요
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
traceId, spanId 모두 콘솔에 출력이 되는데 zipkin에는 검색되는 traceId가 하나도 없습니다. 무엇이 문제일까요?
인프런 Ai 가 아닌 강사님이 도움을 주시길 바라봅니다... 스프링부트3가 되면서 sleuth가 사용이 안 된다 하여, 강사님 깃허브에 배포된 프로젝트와 커뮤니티 게시판을 참조하여 디펜던시를 다 수정하고 테스트 하였으나 order-service와 user-service 같은 traceId가 출력이 되고, 혹시 다운받은 zipkin이 문제인가 하여 도커로 zipkin을 실행해봤으나 브라우저로 접속한 zipkin에서는 아무런 traceId가 검색이 되지 않고 어떠한 요청들도 기록이 되지 않습니다. 무엇이 문제일까요...? 스택오버플로우에 비슷한 사례들을 찾아봐서 amqp와 같이 쓰면 문제가 생긴다 이런 저런 디펜던시 추가해봐라 하는 것들을다 따라봤으나 해결이 되지 않습니다. 삼일째 이 문제에서 벗어나지 못하고 있습니다... 간곡히 도움을 부탁드립니다... 어떠한 키워드라도 좋으니 혹시 이 글을 보시는 다른 수강생분들도 도움 좀 주세요...
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
로그에 traceId, spanId 모두 잘 찍히는데 traceId로 조회가 안 됩니다.
로그에 traceId, spanId 모두 잘 찍히는데 브라우저의 zipkin에서 traceId로 조회를 하면 no trace가 뜨네요. 스프링부트 3에 맞춰서 깃허브에 올려주신 자료 참조해서 디펜던시 맞게 설정하고 yml에도 올려주신 자료대로 수정했는데 이런 문제가 생기면 어떤 부분이 잘못된 걸까요?
-
해결됨ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
화면 단이 아닌 서비스 단에서 파라미터 추가
안녕하세요 선생님소스에서 MSSQL로 파라미터를 전달하는 부분에 관련해서 질문드리고 싶습니다. 질문 1지금은 view 단에서 파라미터를 받아서 가져가고 있는데 서비스단에서 파라미터를 추가할 수 있는 방법이 있을까요? 제가 이전에 하위 버전의 솔루션에서 사용했던 파라미터 전송 방식입니다. internal DataTable CommonSearch(string div, string strwhere) { string sSpName = "SP_Common"; string gubun = "마스터 코드"; string[] pParam = new string[3]; pParam[0] = "@gb:" + gubun; pParam[1] = "@div:" + div; pParam[2] = "@strwhere:" + strwhere; DataTable dt = _bllSpExecute.SpExecuteTable(sSpName, gubun, pParam); return dt; }기존에는 이런 방식을 차용해서 파라미터 전송을 했는데 지금 전달 주신 부분에서는 저 구분을 어떤 방식으로 보내야 할 지 감이 안 옵니다... //로그인 뷰 public async Task<GetUserResponseDTO> GetUser(GetUserDTO getUserDTO) { // auto mapper로 {}사용하여 동적 개체 수령 var configuration = new MapperConfiguration(cfg => { }); //Response..DTO 생성후 Controller로 전달 // Perform mapping Mapper mapper = new Mapper(configuration); Dictionary<string, object> dc = mapper.Map<GetUserDTO, Dictionary<string, object>>(getUserDTO); //-----> 이 부분에 삽입해서 전달 하는 방법? ProcCall procCall = new ProcCall(); DataTable dt = await procCall.RequestProcedure("SP_Login", dc); GetUserResponseDTO dto = new GetUserResponseDTO(); dto.gubun = "S"; //dto.Id = (int)dt.Rows[0]["id"]; dto.UserId = dt.Rows[0]["UserId"].ToString(); dto.Password = dt.Rows[0]["Password"].ToString(); return dto; }여기 서비스 단에서 담아서 보낼 수 있을까요?
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
asp.net sercurity에 대한 추후 강의 계획 있으신가요?
해외 원서로 공부하고 있긴 한데, 막상 적용하려니 체감이 잘 되지 않아서요.. 혹시나 해서 질문 남깁니다.
-
해결됨ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
CS1963 오류
안녕하세요 강사님현재 올려주신 강의를 근간으로 현업에서 새로운 페이지를 개발중입니다...그런데 제가 뭘 잘 못 했는지 아래와 같은 오류를 계속 발생시키는데 뭐가 문제일까요..?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka 테스트.. 오류
D:\코딩\kafka_demo\kafka_2.13-3.7.0> .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties The input line is too long. The syntax of the command is incorrect. D:\코딩\kafka_demo\kafka_2.13-3.7.0>입력 명령어가 너무 길다고 계속 오류가 나는데 버전을 낮춰야할까요..?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
MSA 환경에서 Prometheus 궁금한 점이 있습니다.
강의 잘보고 있습니다.다름이 아니라 MSA 환경에서는 한 서비스가 여러 인스턴스로 올라가있는 경우가 있는데, prometheus.yml에서 해당 인스턴스를 다 지정해주지 않아도 괜찮을까요? 또한 spring cloud gateway에서 lb://ORDER-SERVICE 형태로 로드밸런싱 처리가 되어있는데, 그렇다면 프로메테우스에서 actuator로 가져오는 데이터가 여러 인스턴스 각각 가져오는게 아닌 로드밸런싱되는데로 데이터를 가져오게 되지않나요? 호기심에 질문해봅니다.
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
해외에서는 웹 어플리케이션 개발할때 프로시저를 더많이 사용하나요?
안녕하세요. 강의를 듣다가 해외에서 프로시저를 사용하는 부분에서 궁금한점이 들어서 질문을 남깁니다.해외의 경우 웹 애플리케이션을 개발할때 전부 프로시저로 개발하거나 비중이 높은 사이트나 회사도 있나요?(범용적으로 유지보수와 가독성을 위해서 적절히 섞어서 사용한다고 알고 있습니다.)만약 프로시저 비중이 높거나 전체를 개발 된 사이트가 있다면 혹시 어떻게 생각하는지 들을 수 있을까요?(저는 별로라고 생각합니다!)
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의 수강 후 질문
안녕하세요 강의를 모두 수강후 , 강의를 통해 MSA관련 배운부분을 적용시키기 위해 프로젝트를 진행했습니다!Spring Cloud를 활용하고 서비스를 모두 개발완료 후 배포를 진행중입니다. 현재 마이크로 채팅 서비스가 ec2 a인스턴스에있고 gateway는 b인스턴스에 있고 모두 docker로 배포를 진행했습니다. eureka서버는 b인스턴스에 있고 gateway를 비롯해서 모든 마이크로서비스가 정상적으로 등록된 상태입니다.그러던중에, 아래와 같은 에러가 gateway 로그에 찍혔습니다. ec2 보안그룹도 정상적으로 포트를 열어줬고, 외부에서 접근이 가능하게 docker로 포트 매핑도 진행했고 , 방화벽도 문제가없는데 원래 gateway에서 ==> 다른 인스턴스에 있는 마이크로서비스를 연결을 하지못하는걸까요? 구글링을 많이해봤지만, 비슷한 내용이 없고 해결하기가 어려워 질문 남깁니다ㅜㅜ+)추가로 라우팅도 정상적으로 되어 매칭이 됬다는 로그도 나오는 상태에서 finishConnect(..) failed: Connection refused 에러가 생깁니다..a.w.r.e.AbstractErrorWebExceptionHandler : [1e416af9] 500 Server Error for HTTP GET "/plant-chat-service/chatroom/exist/seller?tradeBoardNo=2&memberNo=1" io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: /172.18.0.5:46183 Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: Error has been observed at the following site(s): *__checkpoint ⇢ org.springframework.boot.actuate.web.trace.reactive.HttpTraceWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ HTTP GET "/plant-chat-service/chatroom/exist/seller?tradeBoardNo=2&memberNo=1" [ExceptionHandlingWebHandler] Original Stack Trace: Caused by: java.net.ConnectException: finishConnect(..) failed: Connection refused at io.netty.channel.unix.Errors.newConnectException0(Errors.java:155) ~[netty-transport-native-unix-common-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.unix.Errors.handleConnectErrno(Errors.java:128) ~[netty-transport-native-unix-common-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.unix.Socket.finishConnect(Socket.java:359) ~[netty-transport-native-unix-common-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.doFinishConnect(AbstractEpollChannel.java:710) ~[netty-transport-classes-epoll-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:687) ~[netty-transport-classes-epoll-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:567) ~[netty-transport-classes-epoll-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:489) ~[netty-transport-classes-epoll-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397) ~[netty-transport-classes-epoll-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final] at java.base/java.lang.Thread.run(Thread.java:831) ~[na:na]
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
해당 코드가 작동하지 않는 이유
강의 들으면서 도움이 많이 되고 있습니다.중간까지의 과정을 복습하고싶어 필기와 기억을 토대로 코드를 작성했는데, 첫 수업 복습부터 난항을 겪고 있습니다. program.cs에 오류가 없음에도 작동하지 않아 고민입니다. 1강 강의 기준 똑같은 내용의 코드를 이미 만들어두었던 코드에서 가져와 붙여놓았을때에는 또 정상적으로 작동하는데, 무엇이 문제인지 도통 모르겠습니다.var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); var app = builder.Build(); app.MapControllerRoute( name: default, pattern: "{controller=Home},{action=Index}/{id?}"); app.Run();이게 문제가 발생하는 코드var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); var app = builder.Build(); app.MapControllerRoute( name: default, pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run();이게 정상적으로 작동하는 코드입니다.이럴 때에는 어떻게 해야 하나요? 왜 첫 코드가 정상적으로 작동하지 않을까요? 무엇을 놓친건지를 모르겠어요...
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
상품 목록조회를 하려고 하는데 데이터가 안불러와져요
db는 mysql로 바꿔서 하고 있습니다.데이터는 있는데 안불러와지는데 어떤게 문제 일까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
CustomFilter 의 비동기 방식 request / response 메시지 관련
return (exchange, chain) -> { ServerHttpRequest request = exchange.getRequest(); ServerHttpResponse response = exchange.getResponse(); log.info("Custom PRE filter: request id -> {}", request.getId() ); // Custom Post Filter return chain.filter(exchange).then(Mono.fromRunnable(() -> { log.info("Custom POST filter: response code -> {}", response.getStatusCode()); })); }; //return null;강사님. 안녕하세요. 좋은 강의 잘 듣고 있어요. 이전에 devops 강의 너무 좋아서 이 강의도 듣게 되었습니다. 다름이 아니라 위의 람다코드는 getId 이후에 statusCode 부분을 비동기 방식으로 찍는 것 같은데 서버에서 Filter 적용시 비동기로 찍는 것은 아무래도 성능 때문인지 궁금하여 글 남깁니다. 감사합니다. !!!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Spring Cloud Gateway - Load Balancer 1강 보완 요청
일단 제 환경은 윈도우구요apigateway-service 내의 application.yml 파일의 url를 일반 ip 어드레스가 아닌 loadbalancer 방식으로 변경하여 테스트하면 진행되지 않습니다;트러블슈팅에 장시간이 걸렸는데 혹시나 해서 제 피씨 네임을 인식하지 못하나 해서 hosts 파일에 본인 pc 네임과 127.0.0.1을 추가해주면 됩니다. 만약 네 pc가 '뽀로로'인 경우뽀로로 127.0.0.1을 'C:\Windows\System32\drivers\etc'의 파일에 추가해줍니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
안녕하세요 질문이 있습니다.
여러 서비스가 Kafka에 메시지를 전달해서 이를 단일 서버에서 저장하는 것은 이해가 갑니다! 그렇다면 조회할 때는 어떤 식으로 흐름이 발생하는건가요? 기존에 어플리케이션이 직접 DB와 커넥션이 되어있는 상태라면 조회문 날리면 그만인데 조회의 경우엔 조회 이벤트가 발생할 때마다 조회 이벤트를 보내면 DB가 카프카에 쿼리를 실행한 결과값을 저장하고, 어플리케이션에서는 또 컨슈머를 만들어서 그값을 가져오는 형태인가요?
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
DTO 폴더는 BusinessLayer로 옮겼는데, using문은 HelloASP로 계속하나요?
혹시나해서 LoginService 클래스에서 using BusinessLayer.DTO 추가했는데도 인식을 못하네여.. 또한 ILoginService도 인식을 못하던데, 중간에 누겟설치와 참조 관계 때문에 그런건지? 여쭤봅니다. 수정) 다시보니, DTO 클래스에서 네임스페이스 바꾸지 않아서 인식을 못했던거네여.... 강의에서 네임스페이스를 안바꾼 이유가 있나요?
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
SQL Server Management 연결 불가
서버 이름이 아래와 같이 공란으로 보이며,MSSQLSERVER 로 입력 시 아래 오류창이 뜹니다
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
Razor View 추가시 NuGet 자격증명 무한루프
6:10 에서 진행되는 View 리턴값에Razor 뷰 추가시NuGet 자격증명 하라는 MS로그인팝업이 뜹니다.로그인시 스캐폴딩 진행 조금 하다가 다시 뜨고 무한반복이네요. 창을 닫고 실행해보니,위와같은 에러창이 뜹니다.
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
혹시 DTO에 대해서 설명해 주실수 있나요?
DTO라는 개념이 이후 강의에서도 계속 나오는데, 개념 설명이나 이걸 왜 쓰는지에 대해 자세히 나온게 없는거 같아서 질문드립니다.(물론 제가 못 찾은 거 일수 있습니다. 만약 강의에 있다면 어디쯤에 나오는지만 알려주시면 제가 참고해서 보겠습니다.) 그리고 endpoint(끝점?) 이것도 모르겠습니다...개념 설명좀 부탁드립니다.
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
14분 20초쯤에 쿼리 새로 만드신거 여쭤봅니다.
새 쿼리 만들어서도 가능하지만, sqlhelper 파일로 데이터베이스 연결이 가능하다는 걸 보여줄려고 그냥 한번 보여주신건가요?