Vanilla PHP & JavaScript로 실시간 거래 플랫폼 구축, 프레임워크 없이도 가능!

by DD
5개월 전
조회수 12

Vanilla PHPVanilla JavaScript를 사용하여 실시간 거래 플랫폼을 구축, 프레임워크의 복잡성을 극복함

ReactPHPRatchet을 활용하여 WebSocket 기반의 실시간 가격 스트리밍 구현

Apache Proxy를 통해 Shared Hosting 환경에서도 WebSocket 연결을 성공적으로 처리, 성능 지표 공개

프레임워크 없는 백엔드 아키텍처

Vanilla PHP를 사용하여 API 라우팅을 구현, Controller → Service → Model 구조를 적용했다. TradeService에서 거래 로직을 처리하고, TradeAccountService를 통해 계정 잔액을 관리한다. 따라서, 코드의 재사용성테스트 용이성을 확보하고, 유지보수성을 향상시켰다.

ReactPHP와 WebSocket을 활용한 실시간 통신

ReactPHP이벤트 루프Ratchet을 사용하여 WebSocket 서버를 구축했다. Binance WebSocket 스트림에서 가격 정보를 받아, 연결된 모든 클라이언트에 실시간 가격 업데이트를 전송한다. Apache Proxy를 통해 Shared Hosting 환경에서도 WebSocket 연결을 가능하게 하여, 확장성을 확보했다.

Vanilla JS로 구현한 프론트엔드

ES6 모듈fetch API를 사용하여 SPA를 구현하고, Service Worker를 통해 PWA 기능을 추가했다. WebSocketManager를 통해 실시간 가격 업데이트를 처리하고, Router를 사용하여 클라이언트 사이드 라우팅을 구현했다. 결과적으로, 20KB 미만의 작은 번들 사이즈로 빠른 로딩 속도를 제공한다.

Building an SPA, Real-Time Trading Platform with Vanilla PHP & JavaScript

댓글 0

첫 번째 댓글을 남겨보세요!