Jaringan Basis Data Global (GDN) adalah jaringan dari beberapa kluster PolarDB yang tersebar di berbagai wilayah. Topik ini menjelaskan cara melihat titik akhir kluster GDN dan cara menghubungkannya.
Pemisahan baca/tulis dan pengarahan permintaan
Pengarahan permintaan baca dan tulis ke kluster dalam GDN ditentukan oleh konfigurasi proksi database setiap kluster. Aplikasi Anda tidak memerlukan perubahan kode. Cukup hubungkan ke titik akhir kluster yang sesuai, dan permintaan akan secara otomatis diarahkan berdasarkan logika berikut:
Permintaan tulis seperti
INSERT,UPDATE, danDELETE, serta sintaks siaran lainnya sepertiSET, dan semua permintaan dalam transaksi, secara otomatis diteruskan ke node utama kluster utama untuk diproses.Permintaan baca secara default diarahkan ke node read-only kluster sekunder lokal untuk akses terdekat. Jika konsistensi sesi diaktifkan, beberapa permintaan baca juga dapat diarahkan ke node utama kluster utama untuk memastikan konsistensi data.
GDN juga menyediakan nama domain global. Fitur ini tidak hanya memungkinkan akses terdekat tetapi juga memastikan nama domain tetap tidak berubah setelah switchover kluster utama.
Hanya titik akhir kluster atau titik akhir kustom dengan Read/Write Mode disetel ke Read/Write (Automatic Read/Write Splitting) yang mendukung layanan pemisahan baca/tulis GDN.
Primary Endpoint dan titik akhir kustom dengan Read/Write Mode disetel ke Read-only tidak mendukung layanan pemisahan baca/tulis GDN.
Untuk mengurangi dampak potensial latensi replikasi antara kluster utama dan sekunder pada bisnis Anda, kami sarankan ketika Anda mengonfigurasi titik akhir kluster kustom pada kluster sekunder, atur Primary Node Accepts Read Requests ke No dan atur Consistency Level ke Eventual Consistency (Weak).
Jika skenario bisnis Anda tidak dapat mentolerir latensi dalam kluster sekunder, hubungkan langsung ke titik akhir kluster utama.
Lihat titik akhir kluster
Masuk ke Konsol PolarDB dan klik Global Database Network (GDN) di panel navigasi di sebelah kiri.
Di halaman Global Database Network (GDN), temukan GDN target dan klik Global Database Network ID untuk membuka halaman detail.
Di bagian Clusters, temukan kluster sekunder target dan klik View di kolom Cluster Endpoint. Anda dapat melihat detail titik akhir kluster di kotak dialog yang muncul.
CatatanAnda hanya dapat melihat informasi titik akhir kluster default, yang mencakup titik akhir Private dan Public.
Untuk melihat lebih banyak detail titik akhir, klik Visit the Overview page of the cluster. Anda akan dialihkan ke halaman detail kluster target, di mana Anda dapat melihat lebih banyak titik akhir di bagian Database Connections.
Hubungkan ke kluster basis data global
Aplikasi di wilayah berbeda dapat menghubungkan ke GDN menggunakan titik akhir kluster terdekat. GDN secara otomatis melakukan pemisahan baca/tulis. Anda dapat menghubungkan ke kluster basis data dengan beberapa cara. Bagian berikut memberikan contoh metode koneksi yang berbeda.
Gunakan DMS untuk menghubungkan ke kluster
DMS adalah layanan manajemen data visual yang disediakan oleh Alibaba Cloud. DMS menyediakan berbagai layanan manajemen seperti manajemen data, manajemen skema, kontrol akses, audit keamanan, grafik intelijen bisnis (BI), tren data, pelacakan data, optimasi kinerja, dan manajemen server. Anda dapat mengelola kluster PolarDB Anda di DMS tanpa perlu menggunakan alat lain.
Masuk ke Konsol PolarDB. Klik Clusters di panel navigasi di sebelah kiri. Pilih wilayah di pojok kiri atas dan klik ID kluster dalam daftar untuk masuk ke halaman Informasi Dasar. Di pojok kanan atas halaman, klik Log on to Database.

Di kotak dialog yang muncul, masukkan Database Account dan Database Password yang Anda buat untuk kluster PolarDB for MySQL, dan klik Login.

Setelah Anda masuk ke kluster PolarDB for MySQL, klik Instances Connected di panel navigasi di sebelah kiri untuk melihat dan mengelola kluster PolarDB for MySQL.

Gunakan klien untuk menghubungkan ke kluster
Anda dapat menggunakan klien MySQL untuk menghubungkan ke kluster PolarDB. MySQL Workbench 8.0.29 digunakan dalam contoh ini. Operasi menggunakan jenis klien lain serupa.
Instal MySQL Workbench. Untuk informasi lebih lanjut, kunjungi halaman unduhan MySQL Workbench.
Mulai MySQL Workbench dan pilih .
Masukkan informasi koneksi dan klik OK.

Parameter
Deskripsi
Contoh
Hostname
Titik akhir database. Untuk informasi lebih lanjut, lihat Koneksi Database.
pc-2***.rwlb.rds.aliyuncs.com
Port
Nomor port yang sesuai dengan titik akhir database.
CatatanNomor port default adalah 3306.
3306
Username
Akun database. Untuk informasi lebih lanjut, lihat Buat akun database.
polardb_mysql_user
Password
Kata sandi akun database.
Pass***233
Gunakan CLI untuk menghubungkan ke kluster
Jika klien MySQL diinstal di server Anda, Anda dapat menjalankan perintah di CLI untuk menghubungkan ke kluster PolarDB for MySQL.
Sintaks:
mysql -h <Endpoint> -P <Port> -u <Account> -p <Password>Contoh:
mysql -h pc-2***.rwlb.rds.aliyuncs.com -P3306 -upolardb_mysql_user -pPass***233Parameter | Deskripsi | Contoh |
-h | Titik akhir database. Untuk informasi lebih lanjut, lihat Koneksi Database. | pc-2***.rwlb.rds.aliyuncs.com |
-P | Nomor port yang sesuai dengan titik akhir database. Catatan
| 3306 |
-u | Akun database. Untuk informasi lebih lanjut, lihat Buat akun database. | polardb_mysql_user |
-p | Kata sandi akun database. Catatan Parameter ini wajib.
| Pass***233 |
Gunakan aplikasi untuk menghubungkan ke kluster
Menghubungkan ke kluster PolarDB for MySQL mirip dengan menghubungkan ke database MySQL biasa. Anda hanya perlu mengganti titik akhir, port, akun, dan kata sandi database. Contoh berikut menunjukkan cara menggunakan aplikasi untuk mengakses database PolarDB dalam beberapa bahasa pengembangan:
Java
Dalam contoh ini, proyek Maven digunakan untuk menghubungkan ke kluster PolarDB for MySQL menggunakan driver JDBC MySQL.
Pertama, tambahkan dependensi driver JDBC MySQL ke file pom.xml. Contoh kode:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> </dependency>Hubungkan ke kluster. Ganti
<HOST>, nomor port,<USER>,<PASSWORD>,<DATABASE>,<YOUR_TABLE_NAME>, dan<YOUR_TABLE_COLUMN_NAME>dengan informasi database Anda.import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class DatabaseConnection { public DatabaseConnection() { } public static void main(String[] args) { // Titik akhir, port, dan nama database kluster PolarDB yang akan dihubungkan. String url = "jdbc:mysql://<HOST>:3306/<DATABASE>?useSSL=false&serverTimezone=UTC"; // Akun database. String user = "<USER>"; // Kata sandi akun database. String password = "<PASSWORD>"; try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); // Nama tabel data yang akan diquery. ResultSet rs = stmt.executeQuery("SELECT * FROM `<YOUR_TABLE_NAME>`"); while(rs.next()) { // Nama kolom tabel data yang akan diquery. System.out.println(rs.getString("<YOUR_TABLE_COLUMN_NAME>")); } rs.close(); stmt.close(); conn.close(); } catch (Exception var7) { var7.printStackTrace(); } } }
Python
Dalam contoh ini, Python3 digunakan untuk menghubungkan ke kluster PolarDB for MySQL menggunakan library PyMySQL.
Pertama, instal library PyMySQL. Anda dapat menjalankan perintah berikut untuk menginstalnya:
pip3 install PyMySQLHubungkan ke kluster. Ganti
<HOST>, nomor port,<USER>,<PASSWORD>,<DATABASE>, dan<YOUR_TABLE_NAME>dengan informasi database Anda.import pymysql # Parameter koneksi database. host = '<HOST>' # Titik akhir kluster PolarDB. port = 3306 # Port default 3306 user = '<USER>' # Akun database. password = '<PASSWORD>' # Kata sandi akun database. database = '<DATABASE>' # Nama database yang akan dihubungkan. try: # Buat koneksi database. connection = pymysql.connect( host=host, port=port, user=user, passwd=password, db=database ) # Dapatkan cursor. with connection.cursor() as cursor: # Eksekusi query SQL. sql = "SELECT * FROM '<YOUR_TABLE_NAME>'" # Nama tabel yang akan diquery. cursor.execute(sql) # Dapatkan hasil query. results = cursor.fetchall() for row in results: print(row) finally: # Tutup koneksi database. if 'connection' in locals() and connection.open: connection.close()
Go
Dalam contoh ini, Go 1.23.0 digunakan untuk menghubungkan ke kluster PolarDB for MySQL menggunakan paket database/sql dan driver go-sql-driver/mysql.
Pertama, instal driver
go-sql-driver/mysql. Anda dapat menjalankan perintah berikut untuk menginstal driver:go get -u github.com/go-sql-driver/mysqlHubungkan ke kluster. Ganti
<HOST>, nomor port,<USER>,<PASSWORD>,<DATABASE>, dan<YOUR_TABLE_NAME>dengan informasi database Anda.package main import ( "database/sql" "fmt" "log" _ "github.com/go-sql-driver/mysql" ) func main() { // Parameter koneksi database. dbHost := "<HOST>" // Titik akhir kluster PolarDB. dbPort := "3306" // Port default 3306. dbUser := "<USER>" // Akun database. dbPass := "<PASSWORD>" // Kata sandi akun database. dbName := "<DATABASE>" // Nama database yang akan dihubungkan. // Buat DSN (Data Source Name) dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", dbUser, dbPass, dbHost, dbPort, dbName) // Buat koneksi database. db, err := sql.Open("mysql", dsn) if err != nil { log.Fatalf("Gagal terhubung ke database: %v", err) } defer db.Close() // Tes koneksi. err = db.Ping() if err != nil { log.Fatalf("Gagal ping database: %v", err) } // Buat cursor. var result string err = db.QueryRow("SELECT VERSION()").Scan(&result) if err != nil { log.Fatalf("Gagal mengeksekusi query: %v", err) } // Cetak versi database. fmt.Printf("Terhubung ke database, versi: %s\n", result) // Eksekusi query SQL. rows, err := db.Query("SELECT * FROM '<YOUR_TABLE_NAME>'") // Nama tabel data yang diquery. if err != nil { log.Fatalf("Gagal mengeksekusi query: %v", err) } defer rows.Close()
Referensi
Jaringan Basis Data Global (GDN): Informasi tentang GDN, arsitektur layanannya, dan skenario penggunaan umum.
Buat nama domain global: Panduan untuk membuat alamat koneksi terpadu yang memungkinkan akses terdekat serta memastikan nama domain tetap konsisten setelah switchover kluster utama.
Operasi API terkait
API | Deskripsi |
Mengquery informasi titik akhir kluster PolarDB. | |
Memodifikasi atribut titik akhir kluster PolarDB, termasuk mode baca/tulis, apakah akan menambahkan node baru ke titik akhir secara otomatis, tingkat konsistensi, pemisahan transaksi, apakah node utama menerima permintaan baca, dan pengaturan kolam koneksi. |