이번 22-2 클라이언트 서버 프로그래밍 수업에서 gRPC 기술을 적용하여 수강신청 시스템을 구축하였다.
해당 포스터에서는 gRPC를 사용하면서 느낀 사용후기와 깃을 포스팅하겠다.
사용후기
우선, 수업에서는 RMI(자바 원격 함수 호출)로 메서드를 호출하는 기술인데 같은 호출 기술인 gRPC로 진행하였다. 내가 진행한 프로젝트는 수강신청 시스템 구축으로 아래와 같은 프로세스간 통신을 한다.
내가 느낀 장점
통신
프로세스간 통신은 현재 기술 발전의 핵심인 분산에서 관심있는 분야이다. 서비스를 좀 더 안정적으로 배포하기 위해서 서비스를 나누는데 필요한 것이 통신이다. gRPC는 통신을 매우 효율적으로 할 수 있게 해준다. proto3버전을 사용하면 넓은 언어 호환성과 xml, json에 비해 빠른 속도와 가벼운 데이터 크기 이 점에서 통신의 속도와 호환성에 보장받을 수 있었다.
공식문서
공식문서가 매우 잘되어있었다. 거기서 써져있는 코드를 따라치면 자동으로 실행해 볼 수 있는 코드가 제공되었고 해당 기술에 대해서도 gRPC뿐 아니라 RPC의 기술에서 어떤 점이 다른지, 왜 나오게 되었는지를 잘 설명해주었다.
내가 느낀 단점
사례
gRPC를 사용하면서 많은 오류를 접했지만 검색할때 다른 기술에 비해(스프링, DB 등) 많은 사례가 없는 것이 아쉬웠다. 이는 시간이 해결해줄 것이라 생각한다. 그래서 더욱 공식문서를 들여다보게 되었다.
proto 파일의 수정
위의 Client, Server, Data 프로젝트에는 각각의 proto 파일이 존재하는데 어느 한곳에서라도 proto 파일의 변경이 가해지면 다른 곳의 proto 파일도 최신화를 해줘야한다는 점이 아쉬웠다.