Heim > Backend-Entwicklung > Golang > URL -Kürzung Service mit Go GO

URL -Kürzung Service mit Go GO

DDD
Freigeben: 2025-01-30 02:25:14
Original
284 Leute haben es durchsucht

URL Shortening Service using Go

Haben Sie sich jemals gefragt, wie Dienste wie Bitly präzise, ​​gemeinsam genutzbare Links von langen URLs erstellen? Dieses Tutorial führt Sie durch den Bau eines URL -Shortener mit GO, Redis und Docker. Es ist ein großartiges Projekt für Entwickler, um ihre Fähigkeiten in der praktischen Webentwicklung zu verbessern.

wichtige Lernergebnisse

Dieses Tutorial Covers:

  • go Project Setup mit Modulen.
  • RESTFOR API -Entwicklung in Go.
  • Nutzung von Redis für einen effizienten Schlüsselwertspeicher.
  • Strukturierungs -Go -Code für Wartbarkeit und Skalierbarkeit.

Voraussetzungen

Stellen Sie sicher, dass Sie Folgendes installiert haben:

  • Docker
  • Docker Desktop (installieren Sie es auf Ihrem System)

Schritt-für-Schritt-Implementierung

1. Projektinitialisierung

Erstellen Sie ein Projektverzeichnis und initialisieren Sie ein Go -Modul:

<code class="language-bash">mkdir url-shortener
cd url-shortener
go mod init github.com/<username>/url-shortener</code>
Nach dem Login kopieren

Dies generiert eine go.mod -Datei für die Abhängigkeitsverwaltung. Ersetzen Sie <username> durch Ihren Github -Benutzernamen.

2. Projektstruktur

organisieren Sie Ihre Projektdateien für Klarheit:

<code>url-shortener/
├── handlers/         # API request handlers
│   └── handlers.go
├── models/           # Data structures
│   └── url.go
├── router/           # Routing configuration
│   └── router.go
├── storage/          # Redis interaction logic
│   └── redis-store.go
├── main.go           # Application entry point
├── Dockerfile        # Docker build instructions
├── docker-compose.yml # Docker Compose configuration
└── go.mod            # Go module file</code>
Nach dem Login kopieren

3. Abhängigkeitsinstallation

Installieren Sie die erforderlichen GO -Pakete:

<code class="language-bash">go get github.com/go-redis/redis/v8
go get github.com/gorilla/mux</code>
Nach dem Login kopieren

Diese bieten Redis -Interaktions- und Routing -Funktionen.

4. Datenmodelldefinition

In models/url.go definieren Sie Datenstrukturen für Anforderungen und Antworten:

<code class="language-go">package models

type ShortenRequest struct {
 URL string `json:"url"`
}

type ShortenResponse struct {
 ShortURL string `json:"short_url"`
}</code>
Nach dem Login kopieren

5. Redis -Speicherkonfiguration

implementieren Sie Redis -Operationen in storage/redis-store.go:

<code class="language-go">// ... (RedisStore struct and methods as in original example) ...</code>
Nach dem Login kopieren

Dieser Code verwaltet das Speichern und Abrufen von URLs mit REDIS. Die FNV-1A-Hash-Funktion sorgt für eine effiziente kurze URL-Erzeugung.

6. API -Handler -Implementierung

Erstellen Sie die API -Logik in handlers/handlers.go:

<code class="language-go">// ... (ShortenURL, RedirectURL, GetTopDomains functions as in original example) ...</code>
Nach dem Login kopieren

Diese Handler verwalten URL -Verkürzung, Umleitung und Top -Domain -Abruf.

7. Route Setup

API -Routen in router/router.go:

definieren
<code class="language-go">// ... (SetupRouter function as in original example) ...</code>
Nach dem Login kopieren

Dadurch konfiguriert

8. Anwendung Einstiegspunkt

In

starten Sie den HTTP -Server: main.go

<code class="language-go">// ... (main function as in original example) ...</code>
Nach dem Login kopieren
Dies initialisiert den Router und startet den Server, wobei alle registrierten Routen protokolliert werden.

9. Dockerfile -Erstellung

Erstellen Sie eine

, um die Anwendung zu containieren: Dockerfile

<code class="language-dockerfile">// ... (Dockerfile content as in original example) ...</code>
Nach dem Login kopieren
10. Docker-compose.yml-Konfiguration

Verwenden Sie

, um die App und Redis zu verwalten: docker-compose.yml

<code class="language-yaml">// ... (docker-compose.yml content as in original example) ...</code>
Nach dem Login kopieren
11. Anwendungsausführung

Erstellen und Ausführen der Anwendung:

<code class="language-bash">docker-compose up --build</code>
Nach dem Login kopieren
Dies erstellt die Docker -Bilder und startet die Container.

12. API -Endpunkt -Test

Testen Sie die API -Endpunkte mit Tools wie Postman oder Curl (Beispiele in der ursprünglichen Antwort).

Schlussfolgerung

Sie haben erfolgreich einen URL -Kürzungsservice erstellt! Dieses Projekt zeigt praktische GO-, Redis- und Docker -Fähigkeiten.

zukünftige Verbesserungen

Betrachten Sie diese Erweiterungen:

  • Anpassbare kurze URLs: Ermöglichen Sie den Benutzern, ihre kurzen Links zu definieren.
  • Analytics Dashboard: URL -Nutzungsstatistik verfolgen.
  • URL -Ablauf: Implementieren Sie die kurze URL -Ablauf.

Der vollständige Code ist verfügbar [Link zum Repository]. Denken Sie daran, Platzhalter wie <username> durch Ihre tatsächlichen Werte zu ersetzen.

Das obige ist der detaillierte Inhalt vonURL -Kürzung Service mit Go GO. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage