Q & A

시삽: 레드플러스 님 
게시판 이동:
 제목 : 선생님 좋은 답변 감사드립니다!
글번호: 955
작성자: 조은현
작성일: 2021/08/09 오후 4:41:00 (2021/08/09 오후 4:46:00 수정)
조회수: 2158
파일: 이미지.zip (148 KB) / 전송수: 1080

선생님 짧게 답해주셔도 되는데 정성스러운 답변 정말 감사드립니다!
아직 개념이 부족하여 염치 불구하고 몇 개만 더 여쭙고 싶습니다!

1. 먼저 API-Layer가 필요한 경우를 정확하게 알고 싶습니다.
제가 이해한 바로는 로컬 어플리케이션 즉, Desktop Application(WinForm, WPF)이나 Mobile Application(Xamarin 등..)을 DB랑 연결시켜야 할 때는 Connection String이 노출되지 않도록 REST API를 구성하여 해당 API 서버를 통해서 데이터를 주고 받는 형식으로 구성한다고 알고 있습니다.

근데 Blazor의 경우 Server 개발과 WASM(Web Assembly) 개발이 나뉘어 있어 헷갈리는데요.
1-1) Blazor Server로 개발할 경우 Web API를 따로 구현할 필요 없이 그냥 Connection String을 통해 DB랑 편하게 연결하면 되는지 알고 싶습니다.

1-2) Blazor WASM(Web Assembly)의 경우 API Layer가 필요하다고 들었는데요.
해당하는 방식은 웹 상에서 실제로 Try.dot.net과 같이 웹에서 컴파일되어 실행되는 구조이므로
Connection String이 필요하고 결국 Client Broswer에 해당 Connection String이 노출되어 API Layer가 필요한 게 맞는 것인지
따라서 이 방식(Blazor WASM)을 쓸 경우에는 REST API 서버나, GRPC 서버를 따로 미리 구축하여 그것을 통해 연결하는 것이 옳은 것인지 알고 싶습니다.

2. 주신 답변을 바탕으로 생각해보니 제가 만약 DB를 지속적으로 모니터링하고 싶다면
Signal-r을 이용하는게 적합하다는 생각이 들었고 마침(?) Azure에서 Signal-R Service를 제공하고 있음에 이를 이용하여 Blazor Server를 개발해볼까 하는 생각중에 있습니다.

따라서 선생님께 정확히 보여드리고자 PT를 작성해보았는데요.

2-1) 기본적으로 아래의 그림과 같이 구성하고자 합니다.
Azure Signal-R Service를 이용하면 VM에서 실시간 동기 요소를 감당하지 않아도 되므로 부하가 적다고 들었습니다!
이와 같은 구성도를 가지고 개발하려고 하는데 혹시 조언해주실 것이 있을까요?
(이미지 1)


2-2) 근데 만약 동시 접속자수가 많아지게 되면 서버에서 클라이언트 쪽에 한꺼번에 보내주어야 할 정보도 많아지게 될텐데 이때 아래와 같이 Docker를 구축하여 개발한 서버 프로그램 각각을 각자의 Container에서 실행시키는 것이 옳은 생각인지 알고 싶습니다.

(이미지 2)


질문이 너무 많아 죄송합니다..
하지만 개발 방향을 맞게 설정하고 배워야 올바르게 배워나갈 수 있을 거 같아서 염치 불구하고 질문 올립니다.
긴 글 읽어주셔서 감사합니다!
 

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 클라우드에서 네트웍 드라이브로 연결해서 사용중 에러가 발생하였습니다. - 맑은하늘 2021-08-13 2200
현재글 선생님 좋은 답변 감사드립니다! 이미지.zip(148 KB) 조은현 2021-08-09 2158
  Re : 선생님 좋은 답변 감사드립니다! (1) - 레드플러스 2021-08-09 2648
다음글 안녕하세요. 데브렉에서 강의듣고 있는 학생이에요! 이미지 116.png(38 KB) 조은현 2021-08-08 2280
 
손님 사용자 Anonymous (손님)
로그인 Home