번개애비의 라이프스톼일

이번 포스팅은 대용량 트래픽을 처리하기 위한 서버의 구성,나아가 서버의 변경되는 구성에 따른 전체적인 시스템 구조개선에 대해 다뤄본다. 이 글은 아직 대용량 트래픽을 후두려맞기 전,커피 한 잔의 여유를 갖고 있는 초심자를 위한 바이블이다. (내용 중간중간에 챗GPT는 알려주지 않는 현업꿀팁들이 숨어 있으니 한번쯤 읽어보길 추천) 1. 스케일업 (Scale-Up)대용량 트래픽을 처리하는 가장 간단한 방법이면서, 가장 값비싸고, 한계가 뚜렷한 방법이다.대용량 트래픽이 유입되는 양이 향후 지속적이지 않을것이 명백할 경우, 추천하는 방법이다.(왜냐면 별도의 서비스 구조를 변경할 필요가 없고, 서버사양을 변경하기 위한 잠시의 다운타임만 감수하기 때문이다.)엄청 쉽다.현재 사용하고 있는 클라우드 서버의 사양을 더 ..

최근 서버와 Arduino간 Websocket을 통해 실시간 통신 프로토콜을 개발하는 과정에서 MessagePack의 데이터처리에 이슈가 있어서 골머리를 앓다가 문제를 해결하여 이렇게 포스팅으로 남긴다.[참고]MessagePack은 JSON과 같이 Serialize를 지원하면서도 JSON보다 빠르고 짧은 데이터를 전송할 수 있는 장점이 있다. 먼저, 문제의 원인서버와 같이 고오급 언어를 사용하는 환경에서는 Array안에 Key에 따라 Value의 데이터형을 다르게 가져갈 수 있다.하지만, Arduino와 같이 C Language 베이스의 언어는 Array를 선언할때반드시 Key와 Value의 데이터형을 지정해야하는 만큼 Key에 따라 달라지는 데이터형을 지원할 수 없다. 아래 예시 사례를 보자//아두이노..

막대한 자금력과 고급인력을 투입하여 개발하는 인공지능 분야에서단돈(?) 80억의 자금만으로 기존까지의 다른 인공지능들을 개박살내는 DeepSeek가 R1이 출시되었다. 중국의 한 듣보잡 투자회사가 사이드 프로젝트를 두달동안 만든 모델이라는데미국의 거대 빅테크기업들의 LLM들을 모조리 올킬했다. 그런데 중국기업이 아니나 다를까 검열을 하는것 같다. 도덕없는 애미나이 같으니라고... 한편, openAI 는....

ReactPHP와 같이 최근 php 진영에서도 node나 golang과 같이논블록킹 I/O를 지원할 수 있도록 하는 서드파티 익스텐션이 나오고 있다.그 중에서도 C++로 작성되어 php로 작성된 ReactPHP보다 성능이 좋다고 하는 swoole extension을 테스트 해봤다. 굉장히 단편적고 단순한 테스트임으로 참고만 하길... 일단 테스트서버는 구름 IDE에서 제공하는 가장 낮은 사양의 서버를 준비했다.0.5vCPU / 1GB Memory를 갖는 빈 컨테이너를 준비했고, 우분투 24.04, PHP 8.3.14에 openSwoole은 22.1.2버전을 사용했다.(참고로 Swoole과 Openswoole 은 엄연히 다르고 사용하는 방식도 다름!) cli로 구동되는 php openswoole의 경우,..

윈도우 키보드의 경우 Ctrl, Win, Alt 와 같은 조합의 키보드를 사용하지만macOS에서는 Fn, Control, Option, Command 조합의 키보드를 사용한다.macOS에서 윈도우용 키보드를 사용하게 되면 아래와 같이 동작된다. 따라서 Command키와 Option키의 배열을 바꿔야 그나마 써줄만한데, macOS Monterey 12 이후버전에서 어떻게 설정하면 되는지 간략하게 남긴다.(정말 급하게 윈도우 키보드를 써야되는 상황에서 꿀팁) 상단 작업표시줄에서 애플 아이콘을 누르고 "시스템 설정..." 을 누른다. 설정 항목리스트에서 "키보드"를 선택하고 "키보드 단축키..." 를 누른다. "보조 키"를 누르고 키보드를 선택해준다.참고로 맥북이라 Apple 내장 키보드 / 트랙패..