서버 생성 및 실행
서버는 웹 애플리케이션의 핵심입니다. Hyperlane을 사용하면 서버를 쉽게 구축하고 관리할 수 있습니다. 필요에 따라 속도와 제어력 중 원하는 것을 선택할 수 있습니다.
서버를 구축하는 세 가지 방법:
• 빠른 설정을 위해 Server::default()를 사용하세요. 테스트나 간단한 앱에 가장 적합합니다. 주소 및 제한 사항에 대해 사전 설정된 설정을 사용합니다.
• 완전한 제어를 위해 ServerConfig를 사용하세요. 바인드 주소, TCP 옵션 또는 TTL을 변경할 수 있습니다.
• 요청 세부 정보를 관리하려면 RequestConfig를 사용하세요. 버퍼 크기와 타임아웃을 조정하는 데 가장 적합합니다.
라이프사이클 관리:
run() 메서드로 서버를 시작하면 ServerControlHook을 얻게 됩니다. 이 도구는 두 가지 주요 옵션을 제공합니다:
wait(): 사용자가 중지할 때까지 서버를 계속 실행 상태로 유지합니다. 프로그램이 종료되는 것을 방지하려면 main 함수 끝에서 이 메서드를 사용하세요.shutdown(): 서버를 안전하게 종료합니다. 종료하기 전에 현재 진행 중인 요청을 완료합니다. 이는 운영 환경에서 데이터 손실을 방지합니다.
고급 옵션:
Hyperlane은 코드를 단순화하기 위해 속성 매크로(attribute macros)를 사용합니다. 서버 변수를 함수에 직접 주입할 수 있습니다. 이를 통해 설정을 더 깔끔하고 선언적으로 만들 수 있습니다.
여러 서버를 동시에 실행할 수도 있습니다. Tokio를 사용하여 서로 다른 포트에서 다양한 앱을 실행하세요. 다음 상황에 유용합니다:
- HTTP와 HTTPS를 별도의 포트에서 실행.
- 서로 다른 API 버전 제공.
- 하나의 프로세스에서 마이크로서비스 호스팅.
- 메인 앱과 상태 확인(health checks) 분리.
서버를 시작할 때는 항상 에러를 처리하세요. 일반적인 문제로는 포트 점유 또는 권한 오류가 있습니다. 애플리케이션이 안정적으로 유지되도록 결과를 확인하세요.
Project Code: https://github.com/hyperlane-dev/hyperlane Source: https://dev.to/tengxgfyrz67s/creating-and-running-a-server-5ama