기술 | 선택지 | 핵심 기술 선택 근거 | 리서치 |
---|---|---|---|
Data Serialize Format | Protocol Buffers, | ||
JSON, | |||
XML | 네트워크 전송 속도 | ||
구조화된 데이터는 바이너리 형식으로 저장되기 때문에 XML이나 JSON 형식과 같은 텍스트 기반 형식보다 훨씬 작아 네트워크를 통한 전송이 더 빠릅니다. |
확장성 Protobuf는 확장하기 쉽도록 설계되어 빠르게 변화하는 데이터 구조와 새로운 기능을 처리하는 데 이상적입니다.
소스 코드 생성기 Protobuf에서 특별히 생성된 소스 코드는 속도를 최적화할 수 있어 더 적은 메모리를 사용하여 더 빠른 애플리케이션을 개발할 수 있습니다. | ‣ https://appmaster.io/ko/blog/peurotobeopeuran-mueosibnigga https://appmaster.io/ko/blog/soseu-kodeu-saengseonggi | | multi-container tool | Docker Compose, Helm | 구성 포맷과 범위 Helm은 주로 Kubernetes 클러스터에 애플리케이션을 배포하는데 사용되지만 Docker Compose는 YAML 파일을 사용하여 여러 컨테이너로 단일 애플리케이션을 정의하고 구성하는 역할만을 수행하기 때문에 적합합니다.
커스텀 및 템플릿 Helm은 강력한 템플릿화 시스템을 제공하지만 현재 Kubernetes를 사용할 계획은 없습니다. | ‣ https://docs.docker.com/compose/intro/features-uses/ https://stackshare.io/stackups/docker-compose-vs-helm | | Cloud Compute | Amazon EC2, Azure VM, Google CE | 많은 수의 인스턴스 템플릿 제공 Amazon EC2는 Goggle CE에 비해 11개 더 많은 인스턴스 템플릿 제공이 가능합니다.
VM 확장성 Amazon EC2는 VM을 auto-scale과 resize 둘 다 가능합니다. autoscailing 작업은 원하는 수의 인스턴스를 구성하고, 온디맨드로 인스턴스를 시작하고 종료할 수 있습니다. 인스턴스가 중지된 상황에서 클릭 몇 번으로 크기를 조정할 순 있지만 가상화, 플랫폼 호환성을 생각해야합니다.
게스트와 애플리케이션 지원 Goggle CE는 Oracle Linux, Microsoft SQL Server 등을 지원하지 않고, Azure VM또한 openSUSE, MaraDB 등을 지원하지 않지만 Amazon EC2는 모든 OS와 DB를 지원하는 것이 추후 다른 프로젝트에 적용함에 있어서도 장점이 있을 것으로 판단됩니다. | ‣ https://www.msp360.com/resources/blog/azure-vm-vs-amazon-ec2-vs-google-ce-cloud-computing-comparison/ https://www.linkedin.com/pulse/one-comparison-aws-ec2-vs-azure-vm-continuuminnovations/ | | Stress Test | Apache JMeter, Artillery.io, Locust.io | TCP 테스트 기능 제공 Apache JMeter는 TCP Sampler를 통해 TCP 연결을 직접적으로 테스트할 수 있는 기능을 제공합니다. TCP Sampler는 소켓 기반의 통신을 통해 메시지를 주고받는 방식으로, 게임 서버와 클라이언트 간의 TCP 통신을 시뮬레이션할 수 있습니다. 이는 TCP 기반 게임 서버의 성능을 측정하는 데 매우 유용합니다.
부하 테스트 시 유리한 점 JMeter는 고부하 테스트를 수행할 때 유용한 기능들을 제공하며, 여러 클라이언트를 시뮬레이션하여 게임 서버의 최대 처리 용량과 성능을 테스트할 수 있습니다. 대규모 사용자를 대상으로 한 게임 서버의 부하 테스트를 효율적으로 수행할 수 있습니다.
오픈 소스 및 커뮤니티 지원 JMeter는 오픈 소스 소프트웨어로서 자유롭게 사용할 수 있으며 오래된 툴로서, 많은 사용 사례와 방대한 문서, 포럼 등을 통해 다양한 문제를 해결할 수 있는 자료가 축적되어 있습니다. 이는 문제가 발생했을 때 해결책을 찾는 데 도움이 됩니다. | ‣ https://dev.to/satokenta/essential-guide-to-the-top-12-open-source-performance-testing-tools-1jf7 https://azevedorafaela.com/2020/06/09/load-tests-jmeter-vs-artillery/ https://grafana.com/blog/2020/03/03/open-source-load-testing-tool-review/ |