0

내 인프라는 다음과 같습니다. gandi domain, aws dns, route53 api.domain cname - 자체 서명 된 SSL 사용 가능 elb (1 개의 elasticbeanstalk 인스턴스 보유)을 가리 킵니다. Elasticbeanstalk 인스턴스는 도커를 기반으로합니다. 즉, nginx는 docker 인스턴스로 전달됩니다. Docker 인스턴스에는 정적 파일을 제공하는 nginx와 golang에 역방향 프록시가 있습니다 (포트 3000에 대한 fastcgi). 데이터는 Amazon RDS에 저장되며 go-sql-driver를 사용하여 액세스 할 수 있습니다.REST API 서버를 실행 중이며 인프라에 대해 너무 확신하지 못합니다. 또한 벤치마킹과 속도 향상을 위해 무엇을 할 수 있습니까?

지나치게 복잡해 보이지만 단순화하는 가장 좋은 방법은 무엇입니까?

+1

질문 제목과 질문은 다른 것들을 완전히 묻습니다. 배포를 벤치 마크 또는 단순화 하시겠습니까? –

+0

벤치마킹하고 개선 (배포 및 기타 필요한 수단을 단순화하여) – macguy

답변

2

헤더 질문에 대한 답변 "벤치마킹 (ping, traceroute, pingdom 시도) 및 속도 개선 방법"은 아마도 "웹 사이트 벤치마킹"또는 유사한 것을 검색하여 가장 잘 응답 할 것입니다. 많은 웹 사이트 벤치마킹 도구가 있습니다. (많은 더 많은이있다. Siege, ab, boom, boom in Go, 또는 vegeta에 모습을 가지고 있지만, 그건 당신이 시작할 수 있습니다.)

에 대한 대답을 "그것은 지나치게 복잡해 보이는, 가장 좋은 것입니다 단순화하는 방법? "은 :

무엇이 필요합니까?

간단하고 정적 인 사이트의 경우 설정이 지나치게 복잡합니다. 분산 형, 오류 중복성, 고 가용성 사이트의 경우에는 아무 것도 없습니다. 필요에 따라 인프라를 조정해야합니다.

"자체 서명 된 SSL을 사용하는 ELB에에 CNAME을 가리키는 api.domain route53 (1 개 elasticbeanstalk 인스턴스를 가진) :" 당신은로드 밸런서가 필요하십니까? 엔드 포인트를 더 추가 할 예정입니까? 응용 프로그램이 이러한 방식으로로드 균형 조정을 지원합니까?

"nginx를 앞으로 인스턴스를 고정 표시기에"(요청은 모든 요청에 ​​고유 한 등이 있으며, 원자 적으로 처리됩니다) 당신이 이동 응용 프로그램에서 SSL 인증서, 또는 Nginx에의 설정을 관리 할 수 ​​하시겠습니까? 지금 실행하는 방식은 아마도 지금은 가장 간단 할 것입니다.하지만 다시 한 번 생각해보십시오.이 지나치게 복잡한 소리 (하지만, 그것은 당신이 원하는에 따라 다름) :

"도커 인스턴스는 정적 파일을 제공하고, 역 프록시 (포트 3000 FastCGI를)를 golang하는 Nginx에있다". 이 경로에 정적 파일 디렉토리를 제공하는 nginx로 바꿀 수 있습니까? 여기에 fastCGI가 필요합니까?

"데이터는 아마존 RDS에 저장되고 이동-SQL-드라이버를 사용하여 액세스 :"이 AWS 괜찮지를 다시 한 번 요구 사항 (성능 등 준수)

에 따라 희망이 도움이됩니다.

+0

답변 해 주셔서 감사합니다. 그것은 내가하고있는 신생업이며, 성공하면 규모를 확장하여 다음 단계가 될 것입니다.나는 분명히 과다한 중복, 고 가용성, 마스터 읽기 복제본 및 whatsnot이 필요합니다. – macguy

+0

나는 처음에는 ssl 용로드 밸런서를 사용했다. 나는 수직 스케일링을 최대한으로 생각하고, 시간이 올 때 수평 스케일링을 처리했다. 원 자성과 관련해서는 애플리케이션이 어떻게 수행 될지 잘 모르겠습니다. SSL 인증서 관리에 관해서는 가장 빠른 옵션을 선택하는 편이 낫습니다. 일을 잘하면 채팅 구성 요소를 추가 할 수 있다고 생각하면서 계속해서 응용 프로그램을 개발했습니다. elasticbeanstalk가 적합하지 않을 수도 있습니다. EC2 인스턴스를 시작하지 않고 수동으로 설치하는 것이 가장 좋을까요? – macguy

+0

@macguy 아무런 문제도 없지만 제 대답은 기본적으로 많은 질문입니다. 이것들을 비판으로 받아 들여서는 안되며, 제안 된 설정의 모든 구성 요소에 대해 유효한 이유가있을 수 있습니다. 그러나 "어떻게 이것을 단순화 할 수 있습니까?"라고 묻는 것이 가치가 있습니다. 항상 질문. 시작시 행운을 빈다. – Intermernet