gondola: 가볍고 간단한 YAML 기반 역방향 프록시를 사용하면 어떨까요?

王林
풀어 주다: 2024-08-12 06:08:07
원래의
891명이 탐색했습니다.

gondola: Why not use a lightweight and simple YAML-based reverse proxy?

곤돌라란 무엇인가요?

gondola는 Go에서 만든 역방향 프록시로, YAML에서 구성 파일을 작성하기만 하면 쉽게 사용할 수 있습니다.

Awesome-go에서 만나보실 수 있습니다

Go의 표준 라이브러리만을 사용하여 구현되었으며 다음과 같은 기능을 가지고 있습니다

  • 가상 호스트
    • 업스트림 서버에 여러 호스트를 설정할 수 있습니다.
  • 구성 파일 로더
    • YAML 형식의 구성 파일을 사용할 수 있습니다.
  • TLS
    • TLS 인증서를 준비하시면 TLS를 이용하실 수 있습니다.
  • 정적 파일 제공
    • 정적 파일을 제공할 수 있습니다.
  • 액세스 로그
    • 프록시 액세스 로그 및 업스트림 서버 액세스 로그를 출력합니다.
  • 바이너리 배포
    • 크로스 컴파일된 바이너리를 배포합니다.

동기 부여

저는 Go로 직접 만든 bmf-tech.com이라는 블로그를 운영하고 있습니다.

블로그에는 Nginx를 사용하여 역방향 프록시가 구축되어 있었습니다.

제 블로그 시스템의 아키텍처는 복잡하지 않고, 보다 간단한 구성으로 운영할 수 있는 리버스 프록시면 충분하다고 생각했습니다.

그래서 저는 Nginx와 같은 유연한 구문을 사용하는 구성 파일 대신 더 간단한 구성 파일로 구성할 수 있는 나만의 역방향 프록시를 구축하기로 결정했습니다.

실제로 제 블로그 시스템에서 곤돌라를 사용하고 있는데 현재까지는 간단하고 쉽게 운영되고 있습니다.

곤돌라 이용방법

go get 명령을 사용하거나 바이너리를 다운로드하여 곤돌라를 사용할 수 있습니다.

으아악

바이너리는 릴리스에서 사용할 수 있습니다.

Docker 이미지는 bmf-san/gondola에서도 보실 수 있습니다.

구성 파일에 프록시 서버(곤돌라)와 업스트림 서버가 구성되면 곤돌라를 시작하기만 하면 됩니다.

으아악

다음과 같이 곤돌라를 시작하세요:

으아악

원한다면 바로 시험해 볼 수 있는 _examples도 있습니다.

Go에서 역방향 프록시 구현

Go에서 역방향 프록시를 구현하려면 Golang에서 로드 밸런서 구현을 참조하세요.

이 글에서는 로드밸런서 구현 방법을 소개하고 있는데, 역방향 프록시 구현을 기반으로 하기 때문에 도움이 될 수 있습니다.

기부금

gondola는 이슈와 Pull Request를 환영합니다.

물론 스타님도 환영합니다

곤돌라의 일부 기능과 구현이 아직 누락되어 있어 계속해서 개선해 나가고 싶습니다.

  • 우아한 종료
  • 업스트림 서버 상태 점검
  • 구성 파일 다시 로드
  • 통신비 최적화
  • 로드 밸런싱
  • 확장성을 위한 기타 구현 조정

피드백을 자유롭게 남겨주세요.

위 내용은 gondola: 가볍고 간단한 YAML 기반 역방향 프록시를 사용하면 어떨까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!