서버 생성 및 실행

서버는 웹 애플리케이션의 핵심입니다. 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