Ankündigung

Einklappen
Keine Ankündigung bisher.

Cache und CDN

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Cache und CDN

    Hallo Gemeinde. Ich bin neu in diesem Forum. Schön das es dieses Forum gibt
    Kommen wir zur ersten Frage: Ich verstehe nicht, wie ein CDN funktioniert. Bzw ich kann es nicht zuordnen.

    Nehmen wir mal den Cache: Der Cache bildet ein Layer zwischen der Applikation und SQL Datenbank. Somit umgeht man das neu laden der Query`s. Für diesen Layer Cache habe ich verschiedene Möglichkeiten:
    1. Caching über Filesystem
    2. Caching mit SQL
    3. Caching mit Memory
    4. Caching mit REDIS

    Soweit so gut, den Cache verstehe ich wie es funktioniert. Aber wofür ist jetzt das CDN? Ich meine, ich habe doch eh schon ein Cache System. Oder kann man beides nutzen? Für das CDN fehlt mir das Hintergrundwissen bzw verstehe es nicht.

  • #2
    Dann lies erst mal hier nach
    https://de.wikipedia.org/wiki/Content_Delivery_Network

    Sollten dann Fragen offen sein, spezifiziere diese.

    Kommentar


    • #3
      Das habe ich schon gelesen. Aber wie so oft lernt man aus solchen Beiträgen gar nichts.
      Okay dann gehe ich mal etwas tiefer. Wir haben eine App, mit oder ohne Framework.
      Wir entscheiden uns für Variante 1 (siehe oben) und cachen über ein Filesystem. Jetzt haben wir einen Ordner mit dem Cache Datein. Jetzt werden bei einem GET Request unsere Cache Datein angezeigt. Funktioniert also.

      Wenn wir jetzt ein CDN benutzen, was genau speichert dieses CDN? Unsere Cache Datein? Oder kann man ein CDN benutzen ohne eigenes Caching?
      Ich habe verstanden was auf Wiki steht. CDN speichert Datein auf ihre Server, damit die Seite schnell geladen wird. Aber ich hätte gerne mehr Details wie das funktioniert

      Kommentar


      • #4
        Nein nicht schneller.
        Bei vielen Zugriffen und Abfragespitzen, werden diese durch das verteilte System besser abgefangen.

        Lies es noch mal ich kann es nicht besser erklären.

        Brauchst du das, wohl eher nicht.

        Kommentar


        • #5
          Ja genau, das habe ich auch verstanden. Aber anscheind braucht man das wirklich nicht. Wenn ich eine deutsche Seite habe, dann kommen eh nur deutsche Besucher. Da der Server eh in Deutschland steht, passiert ja dann gar nichts bei einem GET Request, da ja der Server eh schon in DE steht. So wie ich das verstehe, lohnt sich das nur bei Traffic aus aller Welt. Also braucht man das eigentlich nicht. Man ließt halt immer die Werbung, CDN und Pagespeed. Aber eigentlich ist es qutasch, wenn man nur deutschen Traffic hat, mit einem Server aus DE. So müsste es stimmen?

          Kommentar


          • #6
            Ein CDN ist ein System welches statischen Content ausliefert (Assets/Dateien/Bilder/CSS/Javascript usw.). Die "Vorstufe" dazu ist ein Webserver der statischen Content ausliefert. Was ein CDN von ein solchen System unterscheide findest du in dem Wikipedia Artikel. (Zusammengfasst ist das Skalierbarkeit und Optimierung)

            Kommentar


            • #7
              Zitat von erc Beitrag anzeigen
              Ein CDN ist ein System welches statischen Content ausliefert (Assets/Dateien/Bilder/CSS/Javascript usw.).
              Ja, genau das selbe machen wir doch auch mit unsere Applikation. Wenn wir einen Server mieten bei Digital Ocean, und z.b. Redis benutzen, dann haben wir doch schon Cache Datein. Wenn wir jetzt ein CDN aktivieren, dann speichert das CDN unsere Datein, welche eh schon gecached sind? Genau das verstehe ich nicht

              Kommentar


              • #8
                Musst du auch nicht. Lass es und vor allem lasse dir nicht deine Zeit rauben.


                Einiges ist auch Werbung um ein Produkt zu verkaufen das keiner braucht.

                Kommentar


                • #9
                  Ein CDN macht in der Regel erst Sinn wenn du wirklich viel Traffic hast. Die Internet Provider und Content-Hoster haben jeweils Backbone Netzte um Traffic unter einander weiterzuleiten. Beispiel: Telekom -> YouTube. Diese sind direkt Verbunden und der Traffic wird in der Regel für alle Telekom Kunden schnell ausgeliefert. Die Telekom und Hetzner (Hosting Provider) haben kein direktes Backbone Netz. Soll also Traffic vom Rechenzentrum an einen Telekom-Kunden, muss dieser Traffic über ein "Zwischen-Provider" wodurch eine Anfrage länger braucht und ggf. teurer ist für den Hosting Provider. Hast du nun viel Traffic aus einem Netz, mit dem dein Hosting Provider nicht verbunden ist, kann es passieren das dein Provider dir diesen Traffic extra berechnet, oder die Bandbreite drosselt. Die CDN Provider haben nun in allen "großen" Backbone Netzte Server welche deine Dateien direkt ausliefern können und somit der Traffic über den "Zwischen Provider" wegfällt. Das selbe lässt sich auch auf Regionen anwenden: Beispiel: Server in DE, Benutzer kommt von Übersee, so muss der Traffic erst durch ein teures und im Verhältnis langsames Unterseekabel.

                  Dies ist nur ein Beispiel und sollte dich nur betreffen wenn du wirklich sehr vielen Traffic hast. dein Hosting-Provider wird dich dann bestimmt drüber Informieren. Es gibt noch weitere Beispiele wo so ein CDN Sinn macht, aber in der Regel betrifft dies alles die normale "Webseite" nicht.
                  https://wiki.hetzner.de/index.php/Double_Paid_Traffic

                  Kommentar


                  • #10
                    Es gibt schon mehrere Gründe sich mit cloudflare/google/amazon/akamai etc. ins bett zu legen - schutz vor ddos sehe ich bspw. ;
                    wenn man dafür ein thread aufmachen muss, scheint man diese gründe nicht als notwendig zu erachten.

                    bei weltweit genutzten seiten kommt kommt sicher ab und an ein sonderbares bgp-routing hinzu, bei welchem die provoider bspw. eigene überseekabel nutzen
                    welche massiv überlastet sein können, um kosten zu sparen - bei der verschmelzung kabeldeutschland/vodfafone war manchmal sonderbarstes routing zu sehn.

                    man kann allerdings auch jsdeliver, cdnjs oder etwas ähnliches nutzen, wenn man eine masse an js/css dateien nutzt, wie jquery/fontawsome oder ähnliches,
                    um den nutzer bei jeder der genutzten webseiten ein laden der zu ersparen.

                    bei php sehe ich diese frage allerdings weniger.

                    Kommentar


                    • #11
                      Vielen Dank an alle für die Antworten. Nachdem was hier steht, kann ich mir die Zeit sparen.

                      Kommentar

                      Lädt...
                      X