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

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

RUK-COM PAAS / DATABASES

คู่มือ Java Connection to MongoDB สำหรับ Database

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

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

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

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

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

สร้าง Environment

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

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

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

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

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

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

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

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

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

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

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

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

ที่ไหน:

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

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

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

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

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

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

สำเนา

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

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

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

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

การ Deploy Application

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

ตามตัวอย่างนี่คือ Code ของ Application ของเราซึ่งมีจุดประสงค์เพื่อทดสอบการเชื่อมต่อกับ 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. Application ใดๆก็สามารถ Deploy ได้โดยใช้ Platform ใดก็ได้ผู้จัดการฝ่าย Deploy(โดยมีไฟล์ในเครื่อง/URL เป็นแหล่งที่มา) หรือมาเวน(สำหรับการ Deploy จาก GIT/SVN)

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

Image 52: upload application

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

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

Image 53: application deployed

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

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

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

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

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

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

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

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

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