Helloj
101
2021-11-23 10:18:56
6
1429

채팅프로그램 node.js vs spring


취준생입니다. 프로젝트에 대한 질문을 좀 하려고 하는데,
처음시도하는거라 모르는점이 많다는점... 생각해주시면 감사하겠습니다.

토이프로젝트로 SNS서비스를 만들어보려고하는데,


백엔드 기준으로 베이스는 스프링사용할려고하는데, 안에 채팅기능을 노드를 사용하는게 좋을지 고민입니다.
(백엔드에 스프링과 노드를 동시에 사용하는부분에 대해선 공부해야합니다.)

검색한 내용에 대한 질문입니다.

1.  "Spring으로도 채팅 구현이 가능하나 Node보다는 복잡하다"
   => 많은 차이가 있나요?...

2. "많은 소규모 프로젝트에 Spring을 기본으로 채팅은 Node로 사용 되어진다."
  =>1번 질문과 비슷할 수도 있는데 채팅하면 노드를 많이 사용하시는것 같은데, 복잡하다 이외의 차이가 있나요?

3. 신입생 포트폴리오를 기준으로 Spring으로만 구현하는게 좋을까요? Node를 그래도 한번 사용해보는게 좋을까요?
  => Spring을 사용하는 회사에 입사를 원하긴 합니다만. +요인이 있을까 궁금합니다..

0
  • 댓글 6

  • 악동 개발자
    516
    2021-11-23 10:52:46

    Spring 개발자를 생각하시는거면 그냥 Spring으로 구현하시는 게 좋을 것 같습니다.

    Spring이 특성상 Node.js(Express)보다는 구현해야 할 코드가 많은 편이긴 합니다.


    Node.js(Express)와 Spring의 차이는 Node쪽은 논블로킹 io가 지원되어 짧은 시간에 많은 요청이 올 경우 유리하고, Spring의 경우 블로킹 io라 상대적으로 불리한 측면이 있습니다.

    그런데 Spring WebFlux로 구현하신다면 Spring으로도 논블로킹 구현이 가능하니 Spring으로 해보시는 것을 추천드립니다~

  • return true
    3k
    2021-11-23 10:56:57 작성 2021-11-23 10:57:30 수정됨

    node 경험해보는것도 나쁘지 않아요

    단, 겉핥기식보다는 동작 원리 / 자바스크립트에 대한 이해 등이 필요합니다.

    단순 채팅구현을 위해서 node 쓰려면 구글 검색으로도 쉽게 돼요

    근데 학생이고 학습을 위한거라면 의미가 있을까요

  • kiete1
    655
    2021-11-23 11:37:36 작성 2021-11-23 11:39:59 수정됨

    웹소켓 이용한 백엔드 서버가 필요할텐데 이 부분만 노드로 개발하고 싶은 건가요?

    웹소켓 이외의 회원가입이나 기타 api를 스프링으로 하고요?

    그게 더 복잡하고 어려울 거 같은데.. 자바 서버와 노드 서버간의 액세스 토큰 연동도 해야될 거 같고..ㅋㅋ

    취준이 목적이면 같은 시간에 스프링에 투자하는게 효율적이라고 생각합니다

    높이 올라가고 싶으시면 넓게 파지 말고 깊게 파세요

  • 뭐랄까...
    209
    2021-11-23 11:39:51 작성 2021-11-23 11:40:35 수정됨

    rest API 서버는 스프링으로 구성 하고, 채팅 서비스만  node(socket.io)로 구현 하세요.  이게 토이 프로젝트로 그나마 쉽게 할 수 있을거 같은데?

  • Helloj
    101
    2021-11-23 12:10:06

    다들 의견이 다들 나뉘시는군요!

    우선 현재까지 답글 달아주신분께 모두 감사드립니다.

    기본적인 CRUD 쪽으로는 확실히 스프링이 익숙하고, 스프링쪽으로 학습을 전념했습니다.

    채팅이라는 부분을 구현하고자하는데, 이부분에 대해서 뭐가 더 좋겠다 라는 결정을 내리지 못한상태입니다. 그  이유는 
    "모르기" 떄문입니다.

    only Spring / Spring + Node 둘다 해보면 좋겠으나 현재 제상황이 한달 남은 상황이고  우선은 한가지 택일하여야 합니
    다. 그러기에 질문을 올렸습니다. (한 회사에 입사를 놓고 이 프로젝트를 평가받는 과정을 밟고있다고 보시면됩니다.) 

    본문에 위와같은 상황을 안적어 놓았네요. ㅠ-ㅠ 조금더 알아보고 팀원과도 계속 이야기 해봐야겠습니다.

    다시한번 다들 좋은 의견 감사합니다!


  • 로그인을 하시면 댓글을 등록할 수 있습니다.