본문 바로가기
개인 작업

01. 인프라 선택

by NaHyungMin 2019. 9. 16.

Restful Header에 대한 정보 및 암호화에 대해 찾아보다가 형이 무언가 불편하다고 해서 해당 프로그램을 만들어 주려다가 구성에 대해 생각해보게 됐다.

 

생각을 하다 보니, Restful로는 정보를 모든 처리할 수 없었다.

예를 들면 같은 그룹 내 한 사람이 정보를 변경 했을 때 나머지 사람에게 알림이 가야 한다거나..

누군가는 폴링이나 롱폴링을 사용하면 되지 않냐 하겠지만 그건 아닌듯 싶다.

 

일단 서버 비용을 줄이려고 생각해봤다.

가장 큰 비용은 역시 메인 서버.

과연 내가 iis가 아닌 리눅스에 웹 서비스를 했을 때 오류 추적을 정확히 할 수 있나 걱정도 들긴 하지만 그건 해봐야 아는거 같다.

클라우드 요금에 대한 정보를 찾아보니 역시 돈이 많이 든다. -..-

비용이 가장 큰 문제니 어쩔수 없이 OS는 리눅스로 선택하고 데이터베이스는 당연히 무료인 mysql을 선택했다.

나중에 돈 많이 벌면.. 리소스, 메인, 데이터베이스 다 나눠줘야 한다.

사실 데이터베이스는 대용량이 아닌지라... 그냥 슬레이브 서버만 새로 구축할까도 싶다.

 

OS는 강제적으로 리눅스로 고정되어 있으니 두 번째 고민은 언어였다.

최근에 공부하기도 했던 파이썬으로 해볼까도 했지만 생산성은 높지만 속도가 느리다는 얘기가 많았다.

찾아본 바로는 Row 하나 검색 시 C#에 dapper나 ado.net는 평균 0.047ms이지만 파이썬은 훨씬 오래 걸린다는 말로 보아 인덱스 처리도 없고 코드도 이상하다고 해도 너무 큰 차이 같다.

 

그러면 Java Spring으로 해볼까? 했지만 내가 C# 환경에 더 익숙해서 일단 생략.

 

결국 .net core로 구성하기로 했다.

이제 생각해볼 문제는 ado.net을 사용할 것인가 dapper를 사용할 것인가

Websocket을 사용할 것인가 Supersocket을 사용할 것인가 등이 남았다.

 

CS + Web + mobile 세 개 다 하려면.. Websocket을 해야 하나 싶다. -..-