시아98
174
2021-11-25 20:56:05
6
314

졸업 연구과제(캡스톤) 백엔드 관련된거로 할 수 있을까요?(조언부탁드립니다)


안녕하세요 이제 곧 캡스톤을 시작하게 되는 예비 4학년입니다.

저희 팀은 3명 모두 백엔드 개발자로 취업할 생각이 있어서 기본적인 프론트 지식도 배우면서 백엔드 관련 캡스톤 주제를 선정하고 싶어합니다.

하지만 막상 백엔드 관련 주제를 선정하려고 하다보니 감이 잡히지가 않는 것 같습니다.

혹시 이런 상황에서 선배님들의 조언 들어볼 수 있을까요?

0
  • 댓글 6

  • Eleutherius
    2021-11-25 21:36:49

    프로젝트 아이디어를 달라는 거죠?

  • 시아98
    174
    2021-11-25 21:41:35

    Eleutherius 

    프로젝트 주제를 직접적으로 달라는 말은 아니었는데 충분히 그렇게 보일 수 있네요(제가 글 솜씨가 없습니다..)

    프로젝트 주제라기 보다는 백엔드 관련 일하시는 분들도 준비하실때 캡스톤을 그쪽 주제로 하셨을거같은데(포트폴리오로 쓰는데 유용할 것 같아서) 혹시 이런 주제가 괜찮더라 같은거나 기타 조언들을 부탁드리려고 했습니다!

  • Eleutherius
    2021-11-25 21:56:14 작성 2021-11-25 21:56:23 수정됨

    캡스톤.... 창의적인 문제해결 능력을 향상시키기 위한 것이 목적이니

    브레인스토밍을 해서 팀원들과 주제를 선정하는것도 중요한 과정 중 일부입니다.


    포트폴리오에 더 유용한 주제라는 것은 없습니다. 주제를 선정하고 그 주제에 맞게 백엔드를 접합시키는데 더 중요할 것 같습니다.

  • seoyhaein
    21
    2021-11-25 23:04:03

    캡스톤 일정이 중요할 것 같아요. 아마 한학기 정도의 시간이 있다고 한다면,

    백엔드쪽에서 분산 코디네이터?? 쪽을 한번 살펴보시는 건 어떨까 제안드려봅니다.


    사실 분산 코디네이터 라는 말이 추상적이라서 다소 이해하기 어렵다고 느낄 수도 있지만, 그냥 분산환경에서 특정 인스턴스가 죽거나 할때 다른 녀석으로 바로 대응하도록 해주는 조정자? 같은 일을 수행하는 역활을 하는 녀석이라고 이해하시면 간단할 것 같습니다. 


    일반적으로, 특정 서비스(인스턴스내에서의 프로세스)가 종료될때 다시 살려주는 기술들과는 좀 다른 방식인데, 리더 인스턴스가 특정 상황으로 인해 종료될 시 동일한(거의 실시간적으로 동일한) 인스턴스가 죽었던 리더 인스턴스를 대신하여 자신을 리더로 선출되게 해주는 일을 해주는 녀석이 분산 코디네이터(굳이 해석하자면 조정자) 라고 이해하시면 될듯합니다.


    이러한 분산 코디네이터는 분산 클러스터 환경에서 마스터를 관리(또는 조정) 하는 역활을 주로 합니다. 그 이유는 보통 마스터-워커 모델의 분산 환경이라면 만약 마스터가 불 특정상황 때문에 종료하기 되면 작업을 수행하고 있는 워커(또는 에이전트, 각각 하나의 인스턴스)들은 종료 또는 특정 문제를 야기 하기 때문입니다.  따라서 마스터의 경우는 항상 종료 되지 않는 특징을 가져야 하고 이를 실현 시켜주는 것이 분산 코디네이터 입니다. 


    분산 코디네이터는 단어에서 알 수 있듯이 분산 즉 여러개가 존재합니다. 그 수는 소수(2 제외)로 구성됩니다. 1,3,5,7,11 등인데 보통은 3개로 구성됩니다.


    결론적으로 이러한 분산 코디네이터를 구성하는 방식은 다양합니다. 대표적으로 Apache Zookeeper 를 활용하는 방법이 있습니다. Apache Zookeeper 는 java 로 구현되어 있고 활발히 개발되고 있는 오픈소스 입니다. 


    또다른 방법은 Raft 알고리즘을 구현하여 사용하는 방식입니다. 대표적으로는 etcd 가 raft 알고리즘을 구현하여 사용하고 있습니다. golang 으로 구현되어 있고, 아주 활발한 오픈소스 프로젝트 입니다.


    구글링을 해보니 기초적인 자료이지만 에서도 잘 설명을 하고 있습니다.

    https://d2.naver.com/helloworld/5663184 


    구비할 수 있는 서버의 사양은 잘 모르지만,

    컨테이너를 이용하여 특정 개수의 인스턴스를 만들고(분산 클러스터 환경 구축) 이러한 인스턴스에 zookeeper 또는 그외 다른 방식(raft 구현)을 통해서 ui 환경으로 특정 인스턴스가 종료할경우 이에 대한 대처에 대한 것을 보여준다면 괜찮은 결과물이지 않을까 합니다. 


    즉,  특정 리더 인스턴스를 강제로 종료 시키고 다른 인스턴스가 리더가 되는 모습을  시각적으로(UI 환경으로) 보여 준다면 좋은 결과물이 될 거 같습니다.


    감사합니다.


  • kenu
    57k
    2021-11-26 09:42:12
    해당 게시물은 관리자에 의해 Tech Q&A에서 포럼로 이동 되었습니다.
  • 광어구이
    115
    2021-11-26 16:55:22

    졸업작품은 눈에 보이는 가시적인게 최고입니다.

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