Tạo Replicas cho Azure Database PostgreSQL

Phi Huynh
Azure Vietnam
Published in
4 min readMar 24, 2019

Tạo replicas cho database chắc hẳn không phải là việc dễ dàng, ít nhất là với developer như tôi. Cho nên nếu có cách nào đó tạo ra một replicas một cách nhanh chóng để tăng tốc performance cho hệ thống mà lại đảm bảo tính sẵn sàng cao quả là điều đáng mong đợi phải không ah. Với Azure Database PostgreSQL, anh em có thể chóng vánh tạo một replica cho PostgreSQL mà hầu như không cần phải thực hiện quá nhiều bước như cách set-up native (thú thật là tôi cũng chưa setup bằng tay replica cho PostgreSQL)

Bước 1 - Tạo Azure Database PostgreSQL

Giả sử bạn đã có account Azure (có thể tạo account free 200$ / năm), đăng nhập vào Azure và tạo một resource group với tên tùy chọn (ví dụ: azurevietnam). Sau đó, tạo một database PostgreSQL như hình bên dưới.

Nhập vào các thông số cần thiết như server name, user name, password , cấu hình server và chờ khoảng 2 phút là anh em đã có một PostgreSQL server sẵn dùng. Sau khi tạo xong thì anh em có thông tin của server như sau:

Anh em có thể kết nối vào server từ lúc này, cần chú ý là phải thiết lập firewall để cho phép các kết nối vào server nhé, bằng cách vào Connection security và cho phép IP address kết nối vào.

Bước 2 - Cấu hình server để bật chế độ replica

Để có thể thêm một replica server cho server hiện hữu, cần phải cấu hình thuộc tính cho phép enable replica. Khá dễ dàng, anh em vào mục Server parameters, chọn azure.replication_support giá trị là REPLICA như hình bên dưới:

Sau khi lưu thay đổi cấu hình, anh em chọn mục Replication thì thấy master là server hiện hữu, còn replica server thì chưa có, việc tiếp theo là sẽ tạo ra một replica server. Chú ý là trước khi tạo replica, cần phải restart lại server nhé.

Bước 3 - Tạo một replica server

Từ menu Replication, anh em chọn thêm vào một replica server. Thực chất việc này là Azure sẽ tạo ra một PostgreSQL Server mới và cấu hình replica với server hiện hữu. Việc này nếu làm bằng tay sẽ khá nhiều bước và cái lợi khi xài Azure là chỉ đơn giản là … đặt tên server thôi. Xem chi tiết như hình dưới:

Thời gian chờ để tạo replica mất khoảng 5 phút tùy data center. Sau khi tạo xong, trở lại menu Replication, anh em sẽ thấy như sau.

Voila xem như anh em đã tạo xong một replica server dễ dàng rồi đúng nào.

Bước 4 - Kiểm tra kết quả

Như vậy là anh em đã có 2 DB Servers, một master và một replica. Kết nối đến replica server sẽ giúp giảm tải server master từ đó giúp tăng performance cho hệ thống. Việc kết nối đến replica server cũng giống như kết nối đến master server, điều khác biệt duy nhất đó là chỉ cho phép các thao tác đọc dữ liệu (chẳng hạn như trích xuất reports đến PowerBI hoặc các thao tác đọc khác).

Trong bài này, tôi dùng Azure Data Studio kết nối đến master server để tạo ra một database tên là azurevietnam và tạo một table members với 2 field là username fullname như sau:

Sau đó thêm vào vài dòng dữ liệu cho vui vẻ :)

Okie, đến đây thì coi như là master server đã có database, có dữ liệu. Chúng ta cần truy cập đến replica server để xem nó đã được async qua chưa nhé. Các bạn vẫn tiếp tục dùng Azure Data Studio để thêm một connection mới là connection string đến replica server. Chú ý là vẫn phải add fireawall vào replica server để cho phép truy cập từ xa nhé. Còn username / password thì replica server kế thừa từ master server.

Sau khi kết nối vào replica server thì chúng ta sẽ thấy database azurevietnam và bảng members đã được asynchronous synced thành công. Từ đây sẽ có rất nhiều tác vụ anh em có thể áp dụng vào kiến trúc / giải pháp phần mềm nhé.

Chúc anh em thành công và có một ngày làm việc vui vẻ :)

--

--