C# 기초 공부

C# + React + RabbitMQ 서버 구성에 대한 궁금

jju_developer 2025. 2. 5. 22:17
728x90

안녕하세요 jju_developer입니다.

 

점심시간을 이용해서 막간의 지식을 나누려고 합니당.

 

저는 주로 java || C# 그리고 리액트 (타입스크립트)로 웹 개발을 하고있습니다!

 

C#으로 서버 측 로직을 개발하고, React로 사용자 인터페이스를 구현하는 웹서버에 대해서

궁금하신분 계신가용?

 

평소 자바로 백엔드를 했었고, 리액드를 클라이언트로 사용을 했었는데,

C#으로 간다면 무엇이 달라질까요?

 

라는 궁금증으로 블로그 글을 작성하게 되었습니다!

 

C#을 사용해서 백엔드 서버를 웹으로 구현할 때 일반적으로 **ASP.NET Core**를 사용합니다.

 

ASP.NET Core는 마이크로소프트에서 제공하는 프레임워크입니다.

웹 애플리케이션, API 서버, 실시간 서비스 등을 만들 수 있는 것이죠!

C#과 React 그리고 rabbitMQ로 개발을 할때에 서버 구성은 어떻게 되는지 말씀드리겠습니다.

 


C#을 사용한 백엔드 서버 구성

C#을 사용해서 백엔드 서버를 웹으로 구현할 때 일반적으로 ASP.NET Core를 사용합니다.

ASP.NET Core는 마이크로소프트에서 제공하는 프레임워크로, 웹 애플리케이션, API 서버, 실시간 서비스 등을 만들 수 있습니다.

Java와 C# 백엔드 환경 비교

기능Java (Spring Boot)C# (.NET)

웹 프레임워크 Spring Boot ASP.NET Core
내장 웹 서버 Tomcat Kestrel
ORM JPA (Hibernate) Entity Framework (EF Core)
의존성 관리 Maven, Gradle NuGet
메시지 큐 RabbitMQ, Kafka RabbitMQ, Azure Service Bus
리버스 프록시 Nginx, Apache, HAProxy IIS, Nginx, Apache

 

Java에서 Spring Boot를 사용할 때 내장 웹 서버로 Tomcat이 제공되는 것처럼, C#에서는 기본적으로 Kestrel이 내장되어 있습니다. Kestrel은 빠르고 가벼운 웹 서버로, 백엔드 API를 실행하는 데 사용됩니다.


C# + React + RabbitMQ 서버 구성

C#과 React 그리고 RabbitMQ를 사용할 때의 서버 구조를 살펴보겠습니다.

  1. 웹 서버 (Kestrel)
    • Java에서 Tomcat을 사용하듯이, C#에서는 Kestrel을 웹 서버로 사용합니다.
    • 일반적으로 리버스 프록시(IIS, Nginx, Apache)와 함께 배포됩니다.
  2. 백엔드 (ASP.NET Core API)
    • React에서 API 요청을 받는 RESTful API 서버를 구현합니다.
    • 요청을 처리하고, 필요한 경우 RabbitMQ에 메시지를 보냅니다.
  3. 메시지 브로커 (RabbitMQ)
    • 대량의 데이터 처리 또는 비동기 작업을 수행하기 위해 RabbitMQ를 사용합니다.
    • 예를 들어, 파일 업로드 후 처리를 백그라운드에서 실행할 때 RabbitMQ를 활용할 수 있습니다.
  4. 프론트엔드 (React)
    • React는 백엔드 API와 통신하며, 클라이언트 측 UI를 제공합니다.
  5. 리버스 프록시 (IIS 또는 Nginx)
    • 클라이언트(React)가 백엔드 API를 호출할 때 보안과 성능을 위해 리버스 프록시를 사용할 수 있습니다.

 


정리

  • Java에서 Spring Boot + Tomcat + RabbitMQ를 사용했다면,
    C#에서는 ASP.NET Core + Kestrel + RabbitMQ를 사용합니다.
  • 두 환경 모두 REST API 서버를 구축하고, 메시지 큐를 활용한 비동기 작업을 수행할 수 있습니다.
  • Java에서는 Maven/Gradle, C#에서는 NuGet을 통해 라이브러리를 관리합니다.
  • C#의 Entity Framework Core(EF Core)는 Java의 JPA와 유사한 ORM 역할을 합니다.

기존에 Java로 개발했던 경험이 있다면, C# 도 두려워 하지 마십숑..!

 

혹시라도 틀린 내용이 있다면 언제나 답글 달아주세용

 

감사합니당...!

 

 

 

728x90