Wyszukiwanie w witrynie

Najlepsze narzędzia do buforowania typu open source dla systemu Linux w 2023 r


Niezawodne rozproszone systemy i aplikacje obliczeniowe stały się kamieniem węgielnym czołowych przedsiębiorstw, szczególnie w automatyzacji i zarządzaniu procesami biznesowymi o znaczeniu krytycznym oraz dostarczaniu usług klientom.

Jako programiści i administratorzy systemów tych systemów i aplikacji oczekuje się od Was dostarczania wszelkiego rodzaju rozwiązań informatycznych (IT), które zapewnią Państwu najbardziej wydajne dostępne systemy.

Obejmuje to zadania takie jak projektowanie, testowanie i wdrażanie strategii wydajności, niezawodności, dostępności i skalowalności systemu/aplikacji, aby zapewnić użytkownikom końcowym satysfakcjonujący poziom usług.

Buforowanie to jedna z wielu bardzo prostych, ale skutecznych technik dostarczania aplikacji, na których możesz polegać. Zanim przejdziemy dalej, przyjrzyjmy się krótko, czym jest buforowanie, gdzie i/lub jak można je zastosować oraz jakie są jego zalety.

Co to jest buforowanie lub buforowanie treści?

Buforowanie (lub buforowanie treści) to szeroko stosowana technika przechowywania kopii danych w tymczasowej lokalizacji (znanej również jako pamięć podręczna). tak, aby można było łatwo i szybko uzyskać dostęp do danych po ich odzyskaniu z pierwotnego magazynu.

Dane przechowywane w pamięci podręcznej mogą obejmować pliki lub fragmenty plików (takie jak pliki HTML, skrypty, obrazy, dokumenty itp.), operacje lub rekordy bazy danych, wywołania API, rekordy DNS itp., w zależności od rodzaju i celu buforowania.

Pamięć podręczna może mieć postać sprzętu lub oprogramowania. Pamięć podręczna oparta na oprogramowaniu (na czym skupia się ten artykuł) może być zaimplementowana w różnych warstwach stosu aplikacji.

Buforowanie można zastosować po stronie klienta (lub w warstwie prezentacji aplikacji), na przykład buforowanie przeglądarki lub buforowanie aplikacji (lub tryb offline). Większość, jeśli nie wszystkie, nowoczesne przeglądarki są dostarczane z implementacją pamięci podręcznej HTTP.

Być może słyszałeś o popularnym wyrażeniu „wyczyść pamięć podręczną” podczas uzyskiwania dostępu do aplikacji internetowej, aby umożliwić przeglądanie najnowszych danych lub treści w witrynie lub aplikacji zamiast korzystania z przeglądarki ze starą kopią zawartość przechowywana lokalnie.

Innym przykładem buforowania po stronie klienta jest buforowanie DNS, które odbywa się na poziomie systemu operacyjnego (OS). Jest to tymczasowe przechowywanie informacji o poprzednich wyszukiwaniach DNS przez system operacyjny lub przeglądarkę internetową.

Buforowanie można również wdrożyć na poziomie sieci, w LAN lub WAN za pośrednictwem serwerów proxy. Typowym przykładem tego typu buforowania są CDN (sieci dostarczania treści), które są globalnie rozproszonymi sieciami internetowych serwerów proxy.

Po trzecie, możesz także zaimplementować buforowanie na serwerze źródłowym lub serwerze zaplecza. Istnieją różne formy buforowania na poziomie serwera, obejmują one:

  • buforowanie serwera WWW (do buforowania obrazów, dokumentów, skryptów itd.).
  • buforowanie aplikacji lub zapamiętywanie (używane do odczytywania plików z dysku, danych z innych usług lub procesów lub żądania danych z API itp.).
  • buforowanie bazy danych (aby zapewnić dostęp w pamięci do często używanych danych, takich jak żądane wiersze bazy danych, wyniki zapytań i inne operacje).

Należy pamiętać, że dane pamięci podręcznej można przechowywać w dowolnym systemie pamięci masowej, w tym w bazie danych, pliku, pamięci systemowej itd., ale powinny to być nośniki szybsze niż główne źródło. Pod tym względem buforowanie w pamięci jest najskuteczniejszą i powszechnie stosowaną formą buforowania.

Dlaczego warto korzystać z buforowania?

Buforowanie oferuje wiele korzyści, w tym:

  • Na poziomie bazy danych poprawia wydajność odczytu danych buforowanych do mikrosekund. Można także użyć pamięci podręcznej zapisu zwrotnego, aby poprawić wydajność zapisu, gdy dane są zapisywane w pamięci, a później zapisywane na dysku lub w pamięci głównej w określonych odstępach czasu. Jednak aspekt integralności danych może mieć potencjalnie katastrofalne skutki. Na przykład, gdy system ulega awarii tuż przed zapisaniem danych w pamięci głównej.
  • Na poziomie aplikacji pamięć podręczna może przechowywać często odczytywane dane w samym procesie aplikacji, skracając w ten sposób czas wyszukiwania danych z sekund do mikrosekund, szczególnie w sieci.
  • Biorąc pod uwagę ogólną wydajność aplikacji i serwera, buforowanie pomaga zmniejszyć obciążenie serwera, opóźnienia i przepustowość sieci podczas udostępniania klientom buforowanych danych, poprawiając w ten sposób czas odpowiedzi i szybkość dostarczania do klientów.
  • Buforowanie umożliwia także dostępność treści, zwłaszcza za pośrednictwem sieci CDN, i zapewnia wiele innych korzyści.

W tym artykule omówimy niektóre z najlepszych narzędzi typu open source (buforowanie aplikacji/baz danych i buforowanie serwerów proxy) do wdrażania po stronie serwera buforowanie w systemie Linux.

1. Redis

Redis (w całości REmote DIctionary Server) to darmowy, otwarty, szybki, wydajny i elastyczny rozproszony system obliczeniowy w pamięci, z którego można korzystać w większości, jeśli nie we wszystkich językach programowania.

Jest to magazyn struktury danych w pamięci, który działa jako silnik buforujący, trwała baza danych na dysku i broker komunikatów. Chociaż został opracowany i przetestowany na Linuksie (zalecana platforma do wdrażania) i OS X, Redis działa również w innych systemach POSIX, takich jak *BSD, bez żadnych zewnętrznych zależności.

Redis obsługuje wiele struktur danych, takich jak ciągi znaków, skróty, listy, zestawy, posortowane zestawy, mapy bitowe, strumienie i inne. Dzięki temu programiści mogą używać określonej struktury danych do rozwiązania konkretnego problemu. Obsługuje automatyczne operacje na strukturze danych, takie jak dołączanie do łańcucha, wypychanie elementów do listy, zwiększanie wartości skrótu, obliczanie przecięcia zbioru i wiele innych.

Jego kluczowe funkcje obejmują replikację master-slave Redis (domyślnie asynchroniczną), wysoką dostępność i automatyczne przełączanie awaryjne oferowane przy użyciu Redis Sentinel, klaster Redis (można skalować w poziomie, dodając więcej węzłów klastra) i partycjonowanie danych (dystrybucja danych pomiędzy wieloma Redis instancje). Zawiera także obsługę transakcji, skrypty Lua, szereg opcji trwałości i szyfrowanie komunikacji klient-serwer.

Będąc bazą danych umieszczoną w pamięci, ale trwałą na dysku, Redis oferuje najlepszą wydajność, gdy najlepiej współpracuje ze zbiorem danych przechowywanym w pamięci. Można go jednak używać z bazą danych na dysku, taką jak MySQL, PostgreSQL i wiele innych. Na przykład możesz pobrać w Redis małe dane wymagające dużej liczby zapisów i pozostawić inne fragmenty danych w bazie danych na dysku.

Redis wspiera bezpieczeństwo na wiele sposobów: jeden poprzez użycie funkcji „trybu chronionego”, aby zabezpieczyć instancje Redis przed dostępem z sieci zewnętrznych. Obsługuje także uwierzytelnianie klient-serwer (gdzie hasło jest konfigurowane na serwerze i podawane na kliencie) oraz TLS we wszystkich kanałach komunikacji, takich jak połączenia klientów, łącza replikacyjne, protokół magistrali Redis Cluster i inne.

Redis ma bardzo wiele zastosowań, które obejmują buforowanie bazy danych, buforowanie całej strony, zarządzanie danymi sesji użytkownika, przechowywanie odpowiedzi API, system przesyłania wiadomości publikowania/subskrypcji, kolejkę komunikatów i wiele innych. Można je zastosować w grach, aplikacjach społecznościowych, kanałach RSS, analizach danych w czasie rzeczywistym, rekomendacjach użytkowników i tak dalej.

2. Memcached

Memcached to darmowy i otwarty, prosty, ale potężny system buforowania obiektów pamięci rozproszonej. Jest to magazyn klucz-wartość w pamięci przeznaczony dla małych fragmentów danych, takich jak wyniki wywołań baz danych, wywołań API lub renderowania stron. Działa na systemach operacyjnych typu Unix, w tym Linux i OS X, a także na systemie Microsoft Windows.

Będąc narzędziem programistycznym, jest przeznaczone do zwiększania prędkości dynamicznych aplikacji internetowych poprzez buforowanie zawartości (domyślnie jest to pamięć podręczna najrzadziej używane (LRU), w ten sposób redukując ładowanie bazy danych na dysku – pełni rolę pamięci krótkotrwałej dla aplikacji. Oferuje API dla najpopularniejszych języków programowania.

Memcached obsługuje ciągi znaków jako jedyny typ danych. Ma architekturę klient-serwer, w której połowa logiki dzieje się po stronie klienta, a druga połowa po stronie serwera. Co ważne, klienci rozumieją, jak wybrać serwer, na którym mają być zapisywane lub odczytywane dane dla danego elementu. Ponadto klient bardzo dobrze wie, co zrobić w przypadku, gdy nie może połączyć się z serwerem.

Chociaż jest to rozproszony system buforowania, dlatego obsługuje klastrowanie, serwery Memcached są od siebie odłączone (tj. nie są sobie nawzajem świadome). Oznacza to, że nie ma wsparcia replikacji jak w Redis. Rozumieją również, jak przechowywać i pobierać elementy oraz zarządzać, kiedy eksmitować lub ponownie wykorzystać pamięć. Dostępną pamięć można zwiększyć, dodając więcej serwerów.

Obsługuje uwierzytelnianie i szyfrowanie poprzez TLS od Memcached 1.5.13, ale ta funkcja jest wciąż w fazie eksperymentalnej.

3. Apache Ignite

Apache Ignite to także darmowy, skalowalny poziomo, rozproszony w pamięci system przechowujący klucz-wartość, pamięć podręczną i wielomodelowy system baz danych o otwartym kodzie źródłowym, który zapewnia zaawansowane interfejsy API przetwarzania do obliczania rozproszonych danych. Jest to także siatka danych w pamięci, której można używać w pamięci lub z natywną trwałością Ignite. Działa na systemach typu UNIX, takich jak Linux, a także Windows.

Oferuje wielowarstwową pamięć masową, pełną obsługę języka SQL i transakcje ACID (atomowość, spójność, izolacja, trwałość) (obsługiwane tylko na poziomie interfejsu API klucz-wartość) w wielu węzłach klastra, przetwarzanie w kolokacji, i uczenie maszynowe. Obsługuje automatyczną integrację z dowolnymi bazami danych innych firm, w tym z dowolnymi RDBMS (takimi jak MySQL, PostgreSQL, Oracle Database itd.) lub magazynami NoSQL.

Należy zauważyć, że chociaż Ignite działa jako magazyn danych SQL, nie jest w pełni bazą danych SQL. W porównaniu z tradycyjnymi bazami danych radzi sobie wyraźnie z ograniczeniami i indeksami; obsługuje indeksy podstawowe i dodatkowe, ale do wymuszenia niepowtarzalności używane są tylko indeksy podstawowe. Poza tym nie obsługuje ograniczeń klucza obcego.

Ignite wspiera również bezpieczeństwo, umożliwiając włączenie uwierzytelniania na serwerze i udostępnianie klientom poświadczeń użytkownika. Dostępna jest również obsługa komunikacji przez gniazdo SSL, aby zapewnić bezpieczne połączenie pomiędzy wszystkimi węzłami Ignite.

Ignite ma wiele zastosowań, które obejmują systemy buforowania, przyspieszanie obciążenia systemu, przetwarzanie danych w czasie rzeczywistym i analitykę. Może być również używany jako platforma zorientowana na wykresy.

4. Serwer Couchbase

Couchbase Server to także rozproszona, zorientowana na dokumenty baza danych NoSQL o otwartym kodzie źródłowym, która przechowuje dane jako elementy w formacie klucz-wartość. Działa na Linuksie i innych systemach operacyjnych, takich jak Windows i Mac OS X. Wykorzystuje bogaty w funkcje, zorientowany na dokumenty język zapytań o nazwie N1QL, który zapewnia zaawansowane usługi tworzenia zapytań i indeksowania w celu obsługi operacji na danych krótszych niż milisekunda.

Jego godne uwagi funkcje to szybki magazyn klucz-wartość z zarządzaną pamięcią podręczną, specjalnie zaprojektowane indeksatory, potężny silnik zapytań, architektura skalowalna (skalowanie wielowymiarowe), integracja dużych zbiorów danych i SQL, bezpieczeństwo pełnego stosu i wysoka dostępność.

Couchbase Server jest wyposażony w natywną obsługę klastrów z wieloma instancjami, gdzie narzędzie do zarządzania klastrami koordynuje wszystkie działania węzłów i zapewnia po prostu interfejs dla klientów obejmujący cały klaster. Co ważne, możesz dodawać, usuwać lub zastępować węzły według potrzeb, bez przestojów. Obsługuje także replikację danych pomiędzy węzłami klastra oraz selektywną replikację danych pomiędzy centrami danych.

Implementuje bezpieczeństwo poprzez TLS przy użyciu dedykowanych portów serwera Couchbase, różnych mechanizmów uwierzytelniania (przy użyciu poświadczeń lub certyfikatów), kontroli dostępu opartej na rolach (w celu sprawdzenia każdego uwierzytelnionego użytkownika pod kątem przypisanych mu ról zdefiniowanych przez system), audytu, dzienników i sesji .

Jego przypadki użycia obejmują ujednolicony interfejs programistyczny, wyszukiwanie pełnotekstowe, równoległe przetwarzanie zapytań, zarządzanie dokumentami, indeksowanie i wiele więcej. Został specjalnie zaprojektowany, aby zapewnić zarządzanie danymi o niskim opóźnieniu w wielkoskalowych interaktywnych aplikacjach internetowych, mobilnych i IoT.

5. Hazelcast IMDG

Hazelcast IMDG (In-Memory Data Grid) to lekkie, szybkie i rozszerzalne oprogramowanie pośredniczące do obsługi sieci danych w pamięci typu open source, które zapewnia elastycznie skalowalne rozproszone przetwarzanie w pamięci. Hazelcast IMDG działa także na systemach Linux, Windows, Mac OS X i każdej innej platformie z zainstalowaną Javą. Obsługuje szeroką gamę elastycznych i natywnych dla języków struktur danych, takich jak Map, Set, List, MultiMap, RingBuffer i HyperLogLog.

Hazelcast jest siecią peer-to-peer i obsługuje prostą skalowalność, konfigurację klastra (z opcjami gromadzenia statystyk, monitorowania za pomocą protokołu JMX i zarządzania klastrem za pomocą przydatnych narzędzi), rozproszone struktury danych i zdarzenia, porcjowanie danych i transakcje. Jest również zbędny, ponieważ tworzy kopię zapasową każdego wpisu danych na wielu członkach. Aby skalować klaster, po prostu uruchom inną instancję, dane i kopie zapasowe zostaną automatycznie i równomiernie zbilansowane.

Zapewnia zbiór przydatnych interfejsów API umożliwiających dostęp do procesorów w klastrze w celu uzyskania maksymalnej szybkości przetwarzania. Oferuje również rozproszone implementacje dużej liczby przyjaznych dla programistów interfejsów Java, takich jak Map, Queue, ExecutorService, Lock i JCache.

Jego funkcje bezpieczeństwa obejmują członków klastra oraz uwierzytelnianie klientów i kontrolę dostępu do operacji klienta za pośrednictwem funkcji bezpieczeństwa opartych na JAAS. Umożliwia także przechwytywanie połączeń gniazd i zdalnych operacji wykonywanych przez klientów, szyfrowanie komunikacji na poziomie gniazd pomiędzy elementami klastra oraz umożliwianie komunikacji gniazd SSL/TLS. Jednak zgodnie z oficjalną dokumentacją większość tych funkcji bezpieczeństwa jest oferowana w wersji Enterprise.

Najpopularniejszym przypadkiem użycia jest rozproszone buforowanie w pamięci i przechowywanie danych. Można go jednak również wdrożyć do klastrowania sesji internetowych, zastępowania NoSQL, przetwarzania równoległego, łatwego przesyłania wiadomości i wielu innych.

6. Mcrouter

Mcrouter to darmowy router protokołu Memcached typu open source do skalowania wdrożeń Memcached, opracowany i utrzymywany przez Facebook. Zawiera protokół Memcached ASCII, elastyczny routing, obsługę wielu klastrów, wielopoziomowe pamięci podręczne, pule połączeń, wiele schematów mieszania, routing prefiksów, replikowane pule, śledzenie ruchu produkcyjnego, rekonfigurację online i monitorowanie kondycji miejsca docelowego/automatyczne przełączanie awaryjne.

Dodatkowo obsługuje rozgrzewanie zimnej pamięci podręcznej, bogate statystyki i polecenia debugowania, niezawodną jakość usługi usuwania strumienia, duże wartości i operacje rozgłaszania, a także obsługuje protokoły IPv6 i SSL.

Jest używany na Facebooku i Instagramie jako podstawowy element infrastruktury pamięci podręcznej, obsługujący w szczycie prawie 5 miliardów żądań na sekundę.

7. Pamięć podręczna lakieru

Varnish Cache to elastyczny, nowoczesny i wielofunkcyjny akcelerator aplikacji internetowych typu open source, który działa pomiędzy klientami sieciowymi a serwerem Origin. Działa na wszystkich nowoczesnych platformach Linux, FreeBSD i Solaris (tylko x86). Jest to doskonały silnik buforujący i akcelerator treści, który można wdrożyć przed serwerem internetowym, takim jak NGINX, Apache i wiele innych, aby nasłuchiwać na domyślnym porcie HTTP w celu odbierania i przekazywania żądań klientów do serwera internetowego oraz dostarczania sieci WWW odpowiedź serwera na klienta.

Działając jako pośrednik między klientami a serwerami źródłowymi, Varnish Cache oferuje kilka korzyści, których elementem jest buforowanie treści internetowych w pamięci, aby zmniejszyć obciążenie serwera internetowego i poprawić szybkość dostarczania do klientów.

Po otrzymaniu żądania HTTP od klienta przekazuje je do serwera WWW zaplecza. Gdy serwer WWW odpowie, Varnish buforuje zawartość w pamięci i dostarcza odpowiedź klientowi. Gdy klient zażąda tej samej treści, Varnish udostępni ją w odpowiedzi aplikacji zwiększającej pamięć podręczną. Jeśli nie może obsłużyć treści z pamięci podręcznej, żądanie jest przekazywane do backendu, a odpowiedź jest buforowana i dostarczana klientowi.

Varnish zawiera funkcje VCL (Varnish Configuration Language – elastyczny język specyficzny dla domeny) używany do konfigurowania sposobu obsługi żądań i nie tylko, Varnish Moduły (VMODS) będące rozszerzeniami dla Varnish Cache.

Ze względów bezpieczeństwa Varnish Cache obsługuje rejestrowanie, kontrolę żądań, ograniczanie przepustowości, uwierzytelnianie i autoryzację za pośrednictwem VMODS, ale brakuje mu natywnej obsługi protokołu SSL/TLS. Możesz włączyć HTTPS dla Varnish Cache przy użyciu proxy SSL/TLS, takiego jak Hitch lub NGINX.

Możesz także używać Varnish Cache jako zapory aplikacji internetowych, obrony przed atakami DDoS, zabezpieczenia hotlinków, modułu równoważenia obciążenia, punktu integracji, bramy pojedynczego logowania, mechanizmu polityki uwierzytelniania i autoryzacji, szybkiej naprawy niestabilnych backendów i routera żądań HTTP.

8. Serwer proxy buforujący Squid

Kolejnym darmowym, otwartym, wyjątkowym i powszechnie używanym rozwiązaniem proxy i buforowania dla systemu Linux jest Squid. Jest to bogate w funkcje oprogramowanie serwera pamięci podręcznej proxy, które zapewnia usługi proxy i pamięci podręcznej dla popularnych protokołów sieciowych, w tym HTTP, HTTPS i FTP. Działa również na innych platformach UNIX i Windows.

Podobnie jak Varnish Cache, odbiera żądania od klientów i przekazuje je do określonych serwerów zaplecza. Gdy serwer zaplecza odpowiada, przechowuje kopię zawartości w pamięci podręcznej i przekazuje ją klientowi. Przyszłe żądania dotyczące tej samej treści będą obsługiwane z pamięci podręcznej, co spowoduje szybsze dostarczanie treści do klienta. Optymalizuje więc przepływ danych między klientem a serwerem, aby poprawić wydajność i buforuje często używane treści, aby zmniejszyć ruch sieciowy i zaoszczędzić przepustowość.

Squid oferuje takie funkcje, jak dystrybucja obciążenia pomiędzy komunikującymi się hierarchiami serwerów proxy, tworzenie danych dotyczących wzorców korzystania z Internetu (np. statystyki dotyczące najczęściej odwiedzanych witryn), umożliwia analizowanie, przechwytywanie, blokowanie, zastępowanie lub modyfikowanie wiadomości przesyłanych przez serwer proxy.

Obsługuje również funkcje bezpieczeństwa, takie jak bogata kontrola dostępu, autoryzacja i uwierzytelnianie, obsługa SSL/TLS i rejestrowanie aktywności.

9. NGINX

NGINX (wymawiane jako Engine-X) to wysokowydajne, w pełni funkcjonalne i bardzo popularne skonsolidowane rozwiązanie typu open source do konfigurowania infrastruktury sieciowej. Jest to serwer HTTP, odwrotny serwer proxy, serwer proxy poczty i ogólny serwer proxy TCP/UDP.

NGINX oferuje podstawowe możliwości buforowania, w przypadku których buforowana zawartość jest przechowywana w trwałej pamięci podręcznej na dysku. Fascynującą częścią buforowania treści w NGINX jest to, że można je skonfigurować tak, aby dostarczało nieaktualną zawartość ze swojej pamięci podręcznej, gdy nie może pobrać nowej zawartości z serwerów źródłowych.

NGINX oferuje wiele funkcji bezpieczeństwa w celu zabezpieczenia systemów sieciowych, obejmują one terminację SSL, ograniczanie dostępu za pomocą podstawowego uwierzytelniania HTTP, uwierzytelnianie na podstawie wyniku podżądania, uwierzytelnianie JWT, ograniczanie dostępu do zasobów HTTP proxy, ograniczanie dostępu ze względu na lokalizację geograficzną, i wiele więcej.

Jest powszechnie wdrażany jako zwrotny serwer proxy, moduł równoważenia obciążenia, terminator SSL/brama bezpieczeństwa, akcelerator aplikacji/pamięć podręczna zawartości i brama API w stosie aplikacji. Służy również do przesyłania strumieniowego multimediów.

10. Serwer ruchu Apache

Na koniec mamy Apache Traffic Server, szybki, skalowalny i rozszerzalny serwer proxy z buforowaniem typu open source, obsługujący protokoły HTTP/1.1 i HTTP/2.0. Został zaprojektowany w celu poprawy wydajności i wydajności sieci poprzez buforowanie często używanych treści na brzegu sieci, dla przedsiębiorstw, dostawców usług internetowych (dostawców serwerów internetowych), dostawców szkieletu i nie tylko.

Obsługuje zarówno forwardowanie, jak i odwrotne proxy ruchu HTTP/HTTPS. Można go również skonfigurować do pracy w jednym lub obu trybach jednocześnie. Zawiera trwałe buforowanie, interfejsy API wtyczek; obsługa ICP (Internet Cache Protocol), ESI (Edge Side Zawiera); Keep-Alive i nie tylko.

Jeśli chodzi o bezpieczeństwo, Traffic Server obsługuje kontrolowanie dostępu klientów, umożliwiając konfigurację klientów, którzy mogą korzystać z pamięci podręcznej proxy, zakończenia SSL zarówno dla połączeń między klientami a nim samym, jak i między nim a serwerem źródłowym. Obsługuje także uwierzytelnianie i podstawową autoryzację za pomocą wtyczki, rejestrowanie (każdego otrzymanego żądania i każdego wykrytego błędu) oraz monitorowanie.

Serwer ruchu może być używany jako pamięć podręczna proxy sieci Web, serwer proxy przekazywania, zwrotny serwer proxy, przezroczysty serwer proxy, moduł równoważenia obciążenia lub w hierarchii pamięci podręcznej.

Uwagi końcowe

Buforowanie to jedna z najbardziej korzystnych i ugruntowanych od dawna technologii dostarczania treści internetowych, zaprojektowana przede wszystkim w celu zwiększenia szybkości witryn lub aplikacji. Pomaga zmniejszyć obciążenie serwera, opóźnienia i przepustowość sieci, ponieważ dane z pamięci podręcznej są dostarczane klientom, poprawiając w ten sposób czas reakcji aplikacji i szybkość dostarczania klientom.

W tym artykule dokonaliśmy przeglądu najlepszych narzędzi do buforowania typu open source do użycia w systemach Linux. Jeśli znasz inne narzędzia pamięci podręcznej typu open source, które nie są tutaj wymienione, podziel się nimi z nami za pomocą poniższego formularza opinii. Możesz także podzielić się z nami swoimi przemyśleniami na temat tego artykułu.