Udostępnij przez


Projektowanie pod kątem skalowalności

Skalowalność to możliwość obsługi dodatkowego obciążenia przez aplikację z liniowym wzrostem użycia zasobów. Skalowalność jest ważna w każdej aplikacji rozproszonej. Limity skalowalności zwykle koncentrują się na użyciu zasobów i zależnościach przypadkowo utworzonych w projekcie aplikacji.

Poniższa lista zawiera opis problemów ze skalowalnością i sugeruje rozwiązania:

  • Zasoby wewnątrz komputera. Liczba dostępnych wątków i pamięci może ograniczyć skalowalność. Użyj modelu wątkowego, który jest najbardziej wydajny dla aplikacji.

  • Zasoby międzykomputerowe. Liczba dostępnych komputerów do dystrybucji obciążenia aplikacji może mieć wpływ na skalowalność.

  • Preferencje klienta. Dwie sytuacje powiązania mogą być przypadkowo tworzone przez aplikację: sytuacja, w której aplikacja ma zależność od stanu pochodzącego z danych wysyłanych przez klienta z żądaniem; oraz sytuacja, w której aplikacja wymaga stanu specyficznego dla klienta. Unikaj projektowania zależności stanu między klientem a aplikacją.

  • Koligacja serwera. Aplikacja COM+ może ograniczyć skalowalność, tworząc koligację serwera, gdzie aplikacja zależy od przechodzenia do określonego komputera serwera w celu uzyskania informacji. Koligacja może wystąpić w przypadku wielu aplikacji zorientowanych na bazę danych. Najlepszym sposobem uniknięcia wąskiego gardła przywiązania do serwera jest podział danych na różnych komputerach serwerowych. Na przykład podziel dane klientów między serwery za pomocą najczęściej używanego klucza lub rozdziel bazę danych klienta na kilka serwerów, używając nazwiska klienta (na przykład Server1: a-f, Server2: g-m, Server3: n-z).

    Notatka

    Partycjonowanie danych może znacznie zwiększyć złożoność logiki programowania i powinno być wykonywane dopiero po wypróbowaniu innych opcji zwiększania skalowalności.

     

  • Okres istnienia obiektu. Aby można było skalować, aplikacja COM+ musi zwrócić szczególną uwagę na okres życia obiektów. Obiekt istnieje, ale zużywa zasoby. Ważne jest, aby upewnić się, że czas życia obiektów, które zarządzają kosztownymi zasobami, jest starannie kontrolowany. W przypadku obiektów o wysokim zapotrzebowaniu, które nie zużywają kosztownych zasobów, pula obiektów COM+ może zwiększyć skalowalność, ponieważ można dostosować administracyjnie wartości puli, aby korzystać z dostępnego sprzętu. Jest to naturalny sposób zarządzania połączeniami: na przykład jeśli masz licencję na 20 połączeń SQL, możesz to określić za pomocą ustawienia Maksymalna pula.

  • Grupowanie składników aplikacji. Aby zwiększyć skalowalność aplikacji COM+, składniki warstwy środkowej powinny być podzielone na usługi zależne od czasu i niezależne od czasu. Dzięki temu można skoncentrować się na ewentualnie użyciu usługi systemu Microsoft Windows w celu zaimplementowania wymaganej akcji składnika. Możesz na przykład użyć usługi, takiej jak kolejkowanie komunikatów lub składników kolejkowanych COM+ do obsługi zadań asynchronicznych niezależnych od czasu.

projektowanie pod kątem dostępności

Projektowanie pod kątem wdrażania

Projektowanie pod kątem zabezpieczeń