본문 바로가기
이것저것(독후감같은거)

마이크로서비스아키텍쳐환경에서 개발하고 있다. bson 통신용패킷

by 혜룐 2018. 2. 8.


몇달전인가.. 어쩌다 보니 지금 개발하고 있는 서비스의 시스템구성을 발표(?)하는 자리가 있었다.

마이크로서비스아키텍쳐환경에서 개발하고 있다. 라는 챕터를 만들고 어떤 얘기를 하면 좋을까 하다

  • restAPI, 부분적 배포 , 부분적 스케일업or 스케일아웃, 부분적 성능개선 등...


각  service는 restapi로 통신을 하는데 json 형식이겠거니.. 그러다 문뜩.. 

header content_type 에 bson과 msgpack으로 요청을 한 서비스레이어가 생각났다.. 

그래서 .. 기록한다...


json 특징은
  • 프로젝트 특성상 텍스트데이터가 많다. (게시글성 서비스를 운영하고있다..)
  • 대부분의 언어별 lib가 지원된다.
  • xml대비 불필요한 text없어 패킷용량이 감소..
  • json의 경우 텍스트기반이라 패킷이 그대로 노출된다는 단점 (암호화..하던지)
  • 숫자형 변수도 모두 텍스트로 전송되기 때문에 패킷의 크기가 커진다는 단점..

bson 특징으로는
  • json binary format..말그대로 .. 바이너리형태로 json을 인코딩
  • 그래서 텍스트기반인 json보다 패킷용량감소..  속도가 빠르고, 크기가 작다.
    • 현재 나는 mongo를 쓰고있고, mongodump커맨드를 이용해서 덤프 하게되면  bson, mongoexport하게 되면 json  으로 떨어진다.
    • mongodump로 이용하면 bson 형태로 저장해서 속도가 빠르다. 그러고 다시 import해서 백업하면 됨.. 여튼 http://lyhyun.tistory.com/26 <- 배열을 포함한 문서의 변환과정을 설명해 놓은 글도 있더라.. 나신분..

msgpack

  • json보다 훨 빠른 속도란다. bson 보다 빠드다고
  • 커넥션 풀 지원으로 단순 메시지서버 구현 가능..