ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บนแพลตฟอร์ม

RUK-COM PAAS / DATABASES

คู่มือ Java Connection to MongoDB สำหรับ ฐานข้อมูล

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

คู่มือภาษาไทย

คำสั่ง ชื่อเมนู พารามิเตอร์ และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง

MongoDBเป็นหนึ่งในฐานข้อมูล NoSQL ที่ได้รับความนิยมมากที่สุดซึ่งสามารถใช้งานได้ง่ายภายในแพลตฟอร์มในคู่มือนี้เราจะแสดงวิธีเชื่อมต่ออินสแตนซ์นี้กับแอปของคุณและดำเนินการง่ายๆบางอย่าง

สร้าง Environment

  1. เข้าสู่ระบบบัญชี PaaS ของคุณ

  2. สร้าง EnvironmentกับMongoDBอินสแตนซ์ (มีอยู่ในNoSQLส่วน). เซิร์ฟเวอร์แอปพลิเคชันที่ต้องการสำหรับแอปของคุณที่จะปรับใช้สามารถอยู่ใน Environment เดียวกันหรือแยกต่างหาก (ตามตัวอย่างเราได้เพิ่มแมวตัวผู้):

Image 43: create mongodb environmentคลิกสร้างและรอสองสามนาทีเพื่อให้ Environment ของคุณปรากฏที่แดชบอร์ด

การกำหนดค่า MongoDB

  1. ตรวจสอบกล่องจดหมายอีเมลของคุณ - ควรมีข้อความพร้อมรายละเอียดฐานข้อมูล:

Image 45: email mongo credentials2. คลิกที่เปิดในเบราว์เซอร์ปุ่มสำหรับMongoDBNode ภายในแดชบอร์ดของคุณหรือใช้URL การเข้าถึงจากอีเมลเพื่อเข้าถึงแผงผู้ดูแลระบบฐานข้อมูล

Image 46: mongo admin panel log inเข้าสู่ระบบโดยใช้ข้อมูลประจำตัวดังกล่าวข้างต้น

  1. สร้างฐานข้อมูลใหม่โดยสลับไปที่ฐานข้อมูลแท็บแล้วพิมพ์กชื่อสำหรับมัน (เช่นmongodb-เชื่อมต่อ) ภายในสร้างฐานข้อมูลรูปร่าง.

Image 47: create databaseคลิกบันทึกเพื่อดำเนินการต่อ

  1. ถัดไปคุณต้องสร้างผู้ใช้สำหรับฐานข้อมูลนี้ - ดังนั้นให้ไปที่ดำเนินการและเลือกฐานข้อมูลที่คุณสร้างขึ้นใหม่ผ่านรายการแบบเลื่อนลงที่เกี่ยวข้อง

Image 48: execute commandจากนั้นพิมพ์คำสั่งต่อไปนี้ภายในกรอบอินพุตด้านบน:

db.createUser({ ผู้ใช้: “ชื่อผู้ใช้”, แจ้ง: “รหัสผ่าน”, บทบาท:[{ บทบาท: “readWrite”, db: “db_name”}]})

ที่ไหน:

  • ชื่อผู้ใช้- ชื่อที่ต้องการของผู้ใช้ DB ใหม่ของคุณ
  • รหัสผ่าน- รหัสผ่านสำหรับผู้ใช้รายนี้
  • db_name- ชื่อของฐานข้อมูลที่ผู้ใช้สร้างขึ้นใหม่จะได้รับอ่าน/เขียนสิทธิ์สำหรับ

หลังจากนั้นให้คลิกที่ดำเนินการและรอการตอบกลับสำเร็จ

  1. ตอนนี้กลับไปที่แดชบอร์ดและสร้างไฟล์แยกต่างหากสำหรับจัดเก็บข้อมูลการเชื่อมต่อฐานข้อมูล

บันทึก:ที่คุณสามารถระบุทั้งหมดที่จำเป็นสำหรับข้อมูลการเชื่อมต่อได้โดยตรงในโค้ดของคุณ (แอปพลิเคชัน) ในตัวอย่างที่กำหนดเราใส่การตั้งค่าเหล่านี้ลงในไฟล์ซึ่งแอปพลิเคชันทดสอบของเราอ่านได้ (แสดงอยู่ในส่วนคำแนะนำถัดไป)

คลิกที่การกำหนดค่าปุ่มถัดจากเซิร์ฟเวอร์แอปพลิเคชันของคุณใน Environment ที่เกี่ยวข้อง (แมวตัวผู้ในกรณีของเรา)

Image 49: environment node configในแท็บที่เปิดอยู่ให้สร้างแท็บใหม่mydb.cfgไฟล์ภายในบ้านไดเรกทอรีและระบุสตริงต่อไปนี้ที่นั่น:

สำเนา

host={db_access_url}
dbname={db_name}
user={user_name}
password={password}

Image 50: database connection dataที่ไหน

  • {db_access_url}- เชื่อมโยงไปยังแผงผู้ดูแลระบบฐานข้อมูล (ค้นหาได้ในอีเมลที่เกี่ยวข้องหรือคลิกเปิดในเบราว์เซอร์ถัดจากของคุณMongoDBNode และคัดลอกจากแถบที่อยู่) โดยไม่ต้องhttps://ส่วนหนึ่ง
  • {db_name}- ชื่อของฐานข้อมูลที่สร้างขึ้น (mongodb-เชื่อมต่อในกรณีของเรา)
  • {ชื่อผู้ใช้}- ชื่อของผู้ใช้ DB ที่คุณกำหนดให้กับฐานข้อมูลนี้ (ดีบัสเซอร์ในกรณีของเรา)
  • {รหัสผ่าน}- รหัสผ่านของผู้ใช้ที่เกี่ยวข้อง

อย่าลืมที่จะบันทึกการเปลี่ยนแปลง

การ Deploy แอปพลิเคชัน

  1. ตอนนี้คุณสามารถปรับใช้โปรเจ็กต์ของคุณกับ Environment ที่เตรียมไว้ได้แล้ว

ตามตัวอย่างนี่คือโค้ดของแอปพลิเคชันของเราซึ่งมีจุดประสงค์เพื่อทดสอบการเชื่อมต่อกับ Node MongoDB ของเรา

MongoManager.java

จาวาคัดลอก

package example;
import com.mongodb.*;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.Properties;

public class MongoManager {

    static String host, dbname, user, password;

    public void addData(int repeats) {
        try {

            Properties prop = new Properties();
            prop.load(new FileInputStream(System.getProperty("user.home") + "/mydb.cfg"));

            host = prop.getProperty("host").toString();
            dbname = prop.getProperty("dbname").toString();
            user = prop.getProperty("user").toString();
            password = prop.getProperty("password").toString();

            System.out.println("host: " + host + "\ndbname: " + dbname + "\nuser: " + user + "\npassword: " + password);

            MongoCredential credential = MongoCredential.createCredential(user, dbname, password.toCharArray());
            MongoClient mongoClient = new MongoClient(new ServerAddress(host), Arrays.asList(credential));

            MongoDatabase db = mongoClient.getDatabase(dbname);

            try {
                db.getCollection("mycollection");
            } catch (Exception e) {
                db.createCollection("mycollection", null);
                System.out.println("Repeats: " + repeats);
                for (int i = 1; i <= repeats; i++) {
                    Document document = new Document("data", new Date());
                    db.getCollection("mycollection").insertOne(document);
                    System.out.println("INFO: row added " + document);
                }
            } finally {
                mongoClient.close();
            }
        } catch (IOException ex) {
        }
    }
}
  1. แอปพลิเคชันใดๆก็สามารถปรับใช้ได้โดยใช้แพลตฟอร์มใดก็ได้ผู้จัดการฝ่ายปรับใช้(โดยมีไฟล์ในเครื่อง/URL เป็นแหล่งที่มา) หรือมาเวน(สำหรับการ Deploy จาก GIT/SVN)

สำหรับการทดสอบคุณสามารถลองใช้แบบพร้อมใช้งานของเราได้mongoclient.warโปรเจ็กต์ซึ่งมีไดรเวอร์ตัวเชื่อมต่อที่เหมาะสมอยู่แล้ว (หรือดาวน์โหลดแหล่งที่มาและปรับแต่งตามต้องการ)

Image 52: upload application

บันทึก:ในการเชื่อมต่อโปรเจ็กต์ของคุณเองกับฐานข้อมูล MongoDB คุณต้องอัปโหลดไฟล์ที่เหมาะสมmongo-java-driver.ไหห้องสมุดไปยังwebapps/{app_context}/WEB-INF/libโฟลเดอร์ของเซิร์ฟเวอร์แอปของคุณด้วยแอปพลิเคชันที่ปรับใช้

  1. ด้วยเหตุนี้คุณจะได้รับ Environment ที่คล้ายคลึงกับ Environment ด้านล่าง:

Image 53: application deployed

ตรวจสอบการเชื่อมต่อ

  1. คลิกเปิดในเบราว์เซอร์ถัดจาก Environment ของคุณด้วยแอปตัวอย่างของเราที่ปรับใช้คุณจะเห็นหน้าต่างใหม่เปิดขึ้นด้วยความเรียบง่ายผู้จัดการ MongoDBแบบฟอร์มที่แสดง

Image 55: mongo manager applicationพิมพ์จำนวนแถวที่ต้องการ (สำหรับเพิ่มลงในฐานข้อมูลที่เกี่ยวข้อง) ลงในช่องที่เหมาะสมแล้วคลิกแทรกแถวปุ่ม.

  1. รอสักครู่จนกว่าเพจจะหยุดอัปเดตและกลับสู่แผงผู้ดูแลระบบ MongoDB

Image 56: check mycollectionนำทางไปยังmongodb-เชื่อมต่อฐานข้อมูลภายในรายการด้านซ้ายและตรวจสอบรายการใหม่คอลเลกชันของฉันคอลเลกชันภายใน - ควรรวมจำนวนบันทึกที่ระบุไว้ข้างต้น5ในกรณีของเรา

อย่างที่คุณเห็นทุกอย่างทำงานได้ดีเนื่องจากแอปพลิเคชันสามารถเชื่อมต่อกับฐานข้อมูลของเราได้ตอนนี้คุณสามารถใช้แผงผู้ดูแลระบบเพื่อดำเนินการอื่นๆที่จำเป็นกับฐานข้อมูลของคุณได้ในลักษณะเดียวกัน

มีประโยชน์ที่จะรู้

เอกสารประกอบของแพลตฟอร์มยังมีคำแนะนำเสริมจำนวนหนึ่งสำหรับเซิร์ฟเวอร์ MongoDB ซึ่งอาจมีประโยชน์แม้กระทั่งกับผู้ใช้ที่คุ้นเคยและมีประสบการณ์:

  • กำหนดค่าชุดแบบจำลองด้วยจำนวน Node MongoDB ที่ไม่สม่ำเสมอเพื่อใช้งานการจำลองแบบมาสเตอร์-สเลฟและ Failover อัตโนมัติพร้อมกัน
  • มั่นใจในความปลอดภัยของข้อมูลด้วยการปรับการกำหนดการสำรองข้อมูล- ป้องกันข้อมูลสูญหายและช่วยให้สามารถกู้คืนได้ในกรณีที่เซิร์ฟเวอร์ขัดข้องโดยไม่คาดคิด
  • เรียนรู้วิธีการสร้างการเข้าถึงระยะไกลไปยังฐานข้อมูลของคุณเพื่อรับความสามารถในการทำงานกับมันผ่านแอปพลิเคชันไคลเอนต์ที่เหมาะสมแม้ว่าจะไม่จำเป็นต้องลงชื่อเข้าใช้แดชบอร์ดของเราก็ตาม
  • อ่านการนำเข้า/ส่งออกการถ่ายโอนข้อมูลคำแนะนำเพื่อค้นหาวิธีสำรองข้อมูลของคุณภายในไฟล์ดัมพ์ด้วยตนเองและกู้คืนจากดัมพ์ที่สร้างไว้ก่อนหน้านี้หากจำเป็น