Spring Boot + Netty TCP 소켓 서버 (1) 프레임워크 선택 배경

배경 회사에서 데이터 동기화를 위한 RESTful API를 개발하고 있습니다. 모바일이나 PC 애플리케이션에서 API를 활용할 때는 큰 이슈는 없었습니다. 하지만 LTE 망을 사용하는 기기에서 HTTPS 프로토콜 기반의 기존 API를 사용하려고 하니 문제가 생깁니다. 우선 해당 기기는 한 번 연결을 하기가 너무 어렵습니다. LTE 특성 때문인지 연결하기가 힘들어 한 번의 요청-응답으로 연결이 종료되는 HTTP(S) 프로토콜은 적절하지 않았습니다. 또, 이 기기는 한 번에 보낼 수 있는 데이터의 양이 한정되어 있습니다. 필수 데이터만 보낸다 해도 여러 조각으로 나누어 보내야 합니다. 기존의 API는 데이터를 JSON...

더보기

Linux 기초 (1) CLI와 쉘이란?

💡 본 글은 솔데스크 ‘리눅스 시스템 디자인 및 고급 활용 - LEVEL1’ 강의 수강 내용을 바탕으로 정리하였습니다. Linux(리눅스)란? UNIX에 기반을 둔 운영체제. 리눅스는 오픈소스 소프트웨어로써 누구든지 연구, 수정, 공유가 가능하다. 리눅스는 다음의 경우에서 많이 쓰인다. 애플리케이션을 호스트(클라우드 컴퓨팅에서 클라우드 인스턴스로 Linux 운영체제를 선택하는 경우가 많음) IoT의 장치의 운영체제 명령줄 엑세스 리눅스의 강점 중 하나인 CLI(Command-line Interface, 명령줄 인터페이스). CLI는 사용자와 컴퓨터가 문자열로 상호작용하는 방식이다. 사용자는 명령어로...

더보기

Kubernetes 컨테이너 클러스터 기초

💡 본 글은 한국클라우드컴퓨팅연구조합 ‘DevOps를 위한 Kubernetes 컨테이너 클러스터 기본 과정’ 강의 수강 내용을 바탕으로 정리하였습니다. 개인적인 참고 용도로 쓴 글이라 설명이 다소 부족할 수 있습니다. 가상화 서버 가상화(가상 머신) 시스템을 효율적이고 안정적으로 쓰기 위한 기술. 서버를 가상 머신으로 만들어서 사용. 특징 리소스 효율성 증대 (하드웨어 낭비를 줄임) 안정성 (각 application 분리, 서로 영향 안 받도록) 보안성 한계점 가상 머신 위에 있는 application이 하드웨어를 요청하면, 가상 머신 Guest OS가 직접 하드웨어에 접근하려고 함. 그...

더보기