אפשר להתחבר למופע Redis ממכונות וירטואליות ב-Compute Engine שמשתמשות באותה רשת מורשית כמו מופע Redis.
הגדרה
אם כבר התקנתם את Google Cloud CLI, יצרתם מופע Redis ויצרתם קטגוריה של Cloud Storage, אתם יכולים לדלג על השלבים האלה.
מתקינים את ה-CLI של gcloud ומפעילים אותו:
gcloud initפועלים לפי המדריך למתחילים כדי ליצור מכונת Redis. חשוב לשים לב לאזור, לכתובת ה-IP ולפורט של מכונת Redis.
יוצרים קטגוריה של Cloud Storage שאליה יועלה ארטיפקט האפליקציה של האפליקציה לדוגמה. מידע נוסף זמין במאמר בנושא יצירת קטגוריות.
הגדרת ההגדרות של gcloud לאפליקציית הדוגמה
- מגדירים את פרויקט ברירת המחדל
gcloudלפרויקט של אפליקציית הדוגמה.gcloud config set project [PROJECT_ID]
אפליקציה לדוגמה
אפליקציית שרת ה-HTTP לדוגמה הזו יוצרת חיבור למופע Redis ממכונה וירטואלית ב-Compute Engine.
משכפלים את המאגר לשפת התכנות שבחרתם ועוברים לתיקייה שמכילה את קוד הדוגמה:
המשך
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/memorystore/redis
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/memorystore/redis
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/memorystore/redis
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
באפליקציה לדוגמה הזו, מוסיפים 1 למונה Redis בכל פעם שניגשים לנקודת הקצה /.
המשך
האפליקציה הזו משתמשת בלקוח github.com/gomodule/redigo/redis. מריצים את הפקודה הבאה כדי להתקין אותו:
go get github.com/gomodule/redigo/redis@latest
אפליקציה לדוגמה:
Java
האפליקציה הזו מבוססת על Jetty 3.1 servlet.
הוא משתמש בספרייה Jedis:
המחלקות AppServletContextListener משמשות ליצירת מאגר חיבורים ל-Redis לטווח ארוך:
המחלקות VisitCounterServlet הן סרוולט אינטרנטי שמגדיל מונה Redis:
Node.js
האפליקציה הזו משתמשת במודול redis. זהו קובץ package.json לדוגמה:
קוד אפליקציה לדוגמה:
Python
האפליקציה הזו משתמשת ב-Flask לאירוח אתרים ובחבילת redis-py כדי לתקשר עם מופע Redis.
קוד אפליקציה לדוגמה:
פריסת האפליקציה במכונה וירטואלית ב-Compute Engine
מנווטים לספרייה gce_deployment:
cd gce_deployment
סקריפט הפריסה מעלה את הארטיפקט לנתיב ב-Cloud Storage. לאחר מכן, המערכת מפעילה מכונה של Compute Engine ויוצרת חומת אש כדי לחשוף את יציאה 8080. לאחר מכן, סקריפט לטעינה בזמן ההפעלה מכין את המכונה.
מגדירים את משתני הסביבה REDISHOST ו-REDISPORT:
export REDISHOST=[REDISHOST] export REDISPORT=[REDISPORT]
where:
-
REDISHOSTהיא כתובת ה-IP של מכונת Redis המנוהלת. -
REDISPORTהיא היציאה של מכונת Redis המנוהלת, שברירת המחדל שלה היא 6379.
מגדירים את משתנה הסביבה GCS_BUCKET_NAME:
export GCS_BUCKET_NAME=[BUCKET_NAME]/[PATH]
where:
-
BUCKET_NAMEהוא השם של הקטגוריה ב-Cloud Storage. -
PATHהוא נתיב אופציונלי לספרייה שבה רוצים לאחסן את ארטיפקט האפליקציה.
בדוגמה הבאה מוצג סקריפט פריסה שפורס את האפליקציה הזו במכונה וירטואלית חדשה ב-Compute Engine.
המשך
Java
Node.js
Python
מריצים את סקריפט הפריסה:
chmod +x deploy.sh
./deploy.sh
סקריפט לטעינה בזמן ההפעלה של האפליקציה
הסקריפט הזה לטעינה בזמן ההפעלה משמש בסקריפט לדוגמה של פריסת המכונה כדי להכין את המכונה. מידע נוסף על סקריפטים לטעינה בזמן ההפעלה ועל צפייה ביומנים של הפעלת סקריפטים לטעינה בזמן ההפעלה זמין במאמר הפעלת סקריפטים לטעינה בזמן ההפעלה.
המשך
Java
Node.js
Python
יכול להיות שיחלפו כמה דקות עד שהאפליקציה לדוגמה תופעל במכונת Compute Engine החדשה שנוצרה.
אחרי שהמופע מוכן וסקריפט לטעינה בזמן ההפעלה סיים את הביצוע, עוברים אל הדף Compute Engine instances ומעתיקים את כתובת ה-IP החיצונית External Ip.
כדי לראות את האפליקציה לדוגמה שפרסתם, עוברים לכתובת http://[EXTERNAL-IP]:8080
אפשר להשתמש בסקריפט teardown.sh כדי למחוק את המופע ואת חומת האש שנוצרו על ידי סקריפט הפריסה: