Web 개발 용도별 기술선택

less than 1 minute read

간단하게 만들려면 js, python이 좋다??

로그인, 디비 정도만 딱 붙이고 추가기능이 전혀 없을 경우….

보안이나 벨리데이션 신경쓰지 않고 프로토타이핑을 하는 경우에 한해서는

js, py가 괜찮은 선택이다

완성된 프레임워크 Spring, RoR

조금 제대로된 뭔가를 만들려면 이런걸 쓸 수 밖에 없다.

python으로 뭐 하려면 멀티스레드 지원 때문에 엄청 불편하다

모든걸 편법으로 처리해야 하는데 Queue, multiprocess, Celery 등등.. 이것저것 하다보면

전혀 간단하지가 않다

메시지 기반 Akka 프레임워크

게시판 종류의 서비스 말고 좀 복잡한 서비스 만들 때 … 필요하다.
거래소, 쇼핑몰 등 실시간, 비동기성이 좀 필요한 경우

Storm, Flink, Kafka, Kafka Streams 정도는 써 봤는데

Flink, Storm은 지들이 알아서 분산형 데몬을 관리 해 줘야 할 것 같은데… 그런부분에서 상당히 기능이 부족하다. 디버깅도 힘들고…유닛테스트도 힘들다. 분산형 키값공유 aggregate가 될 줄 알았는데…. 안된다. kafka와 효율면에서 뛰어나지 않다. 별 수 없겟지.. scale out을 할 때 kafka보다 더 이상 효율적이기는 힘들 것 같기는 하다.

이런저런 이유로 복잡도를 털어내고 사용하려면
kafka streams를 docker 환경에서 배포하는게 더 괜찮은데…
메시지 처리나 시리얼라이저 등등 여러부분을 직접 관리 해 줘야하는게 문제다.
그럼에도 불구하고… 나쁘진 않다.
여러 언어 지원 안되는게 조금 약점..이라고 할 수도 있지만 잡언어 안쓰면 되지

elixir도 akka처럼 액터기반 프레임웤인데 언어가 생소하니 접근성이 떨어지고 만들어놔도 인력 구하기도 힘든 문제가…

Akka로 이런 부족함을 채울 수 있을지 모르겠다

-테스트 더 해서 추가-