14

W trosce o HA rozważam przejście z samo hostowanego rozwiązania (ZeroMQ) na AWS Simple Notification Service dla pub/sub w aplikacji. Co jest backendem dla aplikacji, więc powinno być rozsądnie w czasie rzeczywistym.to opóźnienie i przepustowość w AWS SNS wystarczająco dobre, aby zastąpić dedykowane MQ dla pub/sub?

Jakie są opóźnienia i przepustowość, których mogę oczekiwać od SNS?

+0

Po prostu ciekawy: dlaczego wybierasz SNS zamiast SQS? W przypadku HA, SQS może pozwolić wielu podsieciom na dzielenie żądań. – PBelzile

+1

@PBelzile: Po pierwsze, SQS nie ma prawdziwego modelu pub/sub. Standardowym sposobem dla pub/sub w SQS jest użycie punktu końcowego SNS + SQS. Po drugie, nie lubię aktywnego sondowania SQS. Po trzecie, z mojego doświadczenia wiem, że opóźnienie SQS jest wysokie i nieprzewidywalne. – vartec

Odpowiedz

8

Czy aplikacja będzie hostowana na EC2? Jeśli tak, opóźnienie zostanie znacznie zmniejszone, ponieważ kanał komunikacyjny będzie przechodził przez połączenie Amazon, a nie przez Internet.

Jeśli zamierzasz zadzwonić do usług AWS z pól nie hostowanych na EC2, tutaj jest cool site, który próbuje dać ci wyobrażenie o długości opóźnienia między Tobą a różnymi usługami i lokalizacjami AWS.

enter image description here

Jak ty pomiar Ping żądania HTTP Latency?

Wykonujemy żądanie HTTP GET do AWS Służby Endpoints (jak EC2, SQS, SNS etc) dla PING i pomiar latencji obserwowaną dla niego we wszystkich regionach.

Jeśli chodzi o wydajność, to zależy od Ciebie. Możesz użyć różnych strategii zwiększających przepustowość, takich jak wielostopniowe, grupujące komunikaty, itp.

Pamiętaj, że będziesz musiał kodować niektóre efekty uboczne, na przykład wyświetlać tę samą wiadomość dwukrotnie (przynajmniej raz) i nie mogąc polegać na FIFO.

+4

Całkiem fajna strona, ale nie widzę jak ping HTTP tworzy moją lokalizację na punkcie końcowym SNS przekłada się na opóźnienie usługi. – vartec

+0

Tak, to nie wygląda na odpowiednią odpowiedź. Jest to opóźnienie przeglądarki dla usługi w różnych regionach, ale nie oznacza, czy usługa jest "w czasie rzeczywistym", czy nie. – Mobigital

Powiązane problemy