Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

load balancing poczty

Termin Definicja
load balancing poczty

Load balancing poczty to rozdzielanie ruchu pocztowego między kilka serwerów, zwykle z użyciem wielu rekordów MX.

Jak rekordy MX rozdzielają pocztę między serwery

Load balancing poczty oznacza organizację dostarczania wiadomości tak, aby połączenia SMTP mogły trafiać do więcej niż jednego serwera odbierającego. Podstawowym mechanizmem jest rekord MX w systemie DNS. Dla domeny można opublikować kilka rekordów MX wskazujących różne nazwy hostów, na przykład mx1.example.pl, mx2.example.pl i mx3.example.pl. Każdy rekord zawiera wartość preferencji. Serwer nadawczy odczytuje te rekordy, ustala ich kolejność i próbuje nawiązać połączenie z hostem wskazanym przez rekord o najniższej wartości preferencji.

Jeżeli kilka rekordów MX ma tę samą preferencję, serwer nadawczy może wybierać między nimi w sposób rozproszony. W praktyce konkretna metoda zależy od oprogramowania MTA, czyli programu odpowiedzialnego za transport poczty, oraz od kolejności zwróconej przez resolver DNS. Nie jest to jednak centralny moduł równoważenia obciążenia, który zna aktualne wykorzystanie procesora, liczbę sesji SMTP albo długość kolejki wiadomości. Rekordy MX jedynie wskazują dopuszczalne punkty przyjęcia poczty, a decyzja o wyborze serwera zapada po stronie systemu wysyłającego.

Równe preferencje a zapasowe serwery MX

W konfiguracji przeznaczonej do rozdzielania ruchu zwykle stosuje się kilka rekordów MX z jednakową preferencją. Przykładowo wartości 10, 10 i 10 oznaczają, że wszystkie trzy hosty znajdują się na tym samym poziomie wyboru. Jeżeli natomiast rekordy mają wartości 10, 20 i 30, najczęściej interpretowane są jako hierarchia podstawowego oraz zapasowych serwerów pocztowych. Serwer z wartością 20 powinien być używany dopiero wtedy, gdy dostarczenie wiadomości do hosta o wartości 10 nie jest możliwe.

Równe wartości MX nie gwarantują idealnie równego podziału. Poszczególne systemy nadawcze mogą preferować określone adresy, przechowywać wyniki DNS w pamięci podręcznej albo ponawiać dostarczenie do tego samego hosta. Dodatkowo wiele domen korzysta z mechanizmu DNS round-robin dla rekordów typu A lub AAAA przypisanych do jednej nazwy MX. Wtedy jeden rekord MX może wskazywać nazwę, która zwraca kilka adresów IPv4 lub IPv6. Taki układ zwiększa liczbę możliwych punktów połączenia, ale również wymaga zgodności konfiguracji wszystkich serwerów oraz poprawnego routingu sieciowego.

Odporność na awarie i ograniczenia DNS

Rozdzielenie poczty przez rekordy MX może poprawić dostępność, ponieważ awaria jednego hosta nie musi zatrzymać dostarczania wiadomości. Gdy połączenie TCP na porcie 25 nie powiedzie się albo serwer nie odpowie prawidłowo podczas sesji SMTP, system nadawczy może spróbować kolejnego hosta. Jeżeli żaden serwer nie przyjmie wiadomości, nadawca zwykle umieszcza ją w kolejce i ponawia próbę później. Czas przechowywania wiadomości w kolejce oraz liczba prób zależą od konfiguracji konkretnego MTA.

DNS nie zapewnia natychmiastowego wycofania niedostępnego serwera. Wyniki zapytań są buforowane zgodnie z wartością TTL, a część resolverów i systemów pocztowych może stosować własne reguły cache’owania lub obsługi błędów. Zmiana rekordu MX nie przenosi więc całego ruchu natychmiast. Ważna jest także poprawna konfiguracja DNS: nazwa wskazana przez MX nie powinna być zastępowana bezpośrednim adresem IP, a serwery powinny mieć osiągalne rekordy adresowe. Dla ruchu IPv6 trzeba dodatkowo sprawdzić rekordy AAAA i rzeczywistą dostępność usługi po IPv6, ponieważ błędnie opublikowany adres może powodować opóźnienia przed próbą połączenia IPv4.

Weryfikacja przepływu wiadomości SMTP

Analiza load balancingu poczty powinna obejmować zarówno DNS, jak i zachowanie serwerów podczas sesji SMTP. Najpierw sprawdza się wszystkie rekordy MX, ich preferencje, czas TTL oraz adresy A i AAAA wskazanych hostów. Następnie należy zweryfikować, czy każdy serwer nasłuchuje na porcie 25, przedstawia właściwą nazwę w odpowiedzi EHLO i poprawnie obsługuje komendy MAIL FROM, RCPT TO oraz zakończenie transmisji. Sam fakt, że host odpowiada na ping, nie potwierdza poprawnego działania poczty, ponieważ ICMP może być filtrowany, a usługa SMTP może być zatrzymana mimo dostępności systemu.

W logach MTA warto porównywać czas przyjęcia wiadomości, adres docelowego serwera, kod odpowiedzi SMTP oraz informacje o ponowieniach dostarczania. Kody z grupy 2xx oznaczają pomyślne wykonanie operacji, kody 4xx sygnalizują błąd tymczasowy, a kody 5xx oznaczają trwałe odrzucenie. Nierówny rozkład wiadomości może wynikać z wartości preferencji MX, pamięci podręcznej DNS, różnic w dostępności IPv4 i IPv6, limitów połączeń, odrzucania określonych nadawców albo zbyt małej przepustowości jednego MTA. Diagnostyka komputera lub serwera uczestniczącego w takim przepływie powinna rozdzielać problem DNS, sieci, usługi SMTP i lokalnej kolejki wiadomości, ponieważ każda z tych warstw wymaga innego sposobu usunięcia usterki.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę