Tüm Ürünler
Search
Belge Merkezi

ApsaraDB RDS:Verify read/write splitting

Son Güncelleme:Oct 09, 2026

Bu konu, Yüksek Kullanılabilirlik Edition çalışan bir ApsaraDB RDS for MySQL örneğinde okuma/yazma ayrımının nasıl doğrulanacağını açıklar. Bu konuda, bir Elastic Compute Service (ECS) örneği RDS örneğine dahili ağ üzerinden bağlanır.

Ön koşullar

  • Yüksek Kullanılabilirlik Edition çalışan bir ana RDS örneği oluşturulmuştur.

  • Ana RDS örneği için bir salt okunur RDS örneği oluşturulur.

  • RDS örneğinde en az bir tablo içeren en az bir veritabanı oluşturulur. RDS örneği için bir test hesabı oluşturulur. Test hesabı standart veya yetkili bir hesap olabilir. Daha fazla bilgi için bkz. Hesaplar ve veritabanları oluşturma.

    Not
    • Standart bir hesap oluşturursanız, standart hesaba gerekli veritabanında Read/Write (DDL + DML) izinlerini vermeniz gerekir.

    • Bu örnekte, testdb01 adlı bir veritabanı, products adlı bir tablo ve cxx1 adlı bir test hesabı oluşturulur.

  • RDS örneği için bir IP adresi izin listesi yapılandırılır.

  • RDS örneğine bağladığınız ECS örneği, RDS örneği ile aynı virtual private cloud (VPC) içinde bulunur. ECS örneğinde MySQL istemcisi yüklüdür.

  • RDS örneği için veritabanı proxy özelliği etkinleştirilir.

  • RDS örneği için SQL Explorer and Audit özelliği etkinleştirilir.

Arka plan bilgileri

Veritabanı proxy özelliğinin okuma/yazma ayrımı yeteneği, yazma isteklerini ana RDS örneğine ve okuma isteklerini salt okunur RDS örneğine yönlendirerek otomatik okuma/yazma ayrımı uygulanmasına yardımcı olur. Bu sayede okuma isteklerinin yükü ana RDS örneğinden alınır. Veritabanı proxy özelliğini etkinleştirip yapılandırdıktan sonra, okuma ve yazma isteklerinin belirttiğiniz okuma ağırlıklarına göre yönlendirilip yönlendirilmediğini kontrol etmek için bu konudaki işlemleri gerçekleştirebilirsiniz.

Doğrulama süreci

Bu örnekte, okuma/yazma ayrımının etkinliğini doğrulamak için bir ECS örneği RDS örneğine dahili ağ üzerinden bağlanır. Aşağıdaki adımları uygulayabilirsiniz:

  1. ApsaraDB RDS konsolunda, salt okunur RDS örneğinin ağırlığını 100'ün katı olarak, ana RDS örneğinin ağırlığını ise 0 olarak ayarlayın. Bu ayarlar, tüm okuma isteklerinin salt okunur RDS örneğine yönlendirilmesini sağlar. Bu örnekte, salt okunur RDS örneğinin ağırlığı 10000, ana RDS örneğinin ağırlığı ise 0 olarak ayarlanır.

  2. Test hesabını kullanarak ECS örneğini veritabanı proxy uç noktası aracılığıyla RDS örneğine bağlayın ve ardından okuma ve yazma işlemleri gerçekleştirin.

  3. ApsaraDB RDS konsolunun SQL Explorer and Audit sayfasında, ana RDS örneği ve salt okunur RDS örneğinde yürütülen SQL deyimlerinin kayıtlarını görüntüleyin.

  4. Okuma/yazma ayrımının uygulanıp uygulanmadığını belirlemek için SQL deyimlerinin yürütme kayıtlarına dayanarak okuma isteklerinin salt okunur RDS örneği tarafından, yazma isteklerinin ise ana RDS örneği tarafından işlenip işlenmediğini kontrol edin.

Yordam

  1. Okuma ağırlıklarını belirtin.

    1. ApsaraDB RDS konsoluna gidin ve Instances sayfasına gidin. Üst gezinme çubuğunda, ana RDS örneğinin bulunduğu bölgeyi seçin. Ardından ana RDS örneğini bulun ve RDS örneğinin ID değerine tıklayın.

    2. Sol gezinme bölmesinde, Database Proxy seçeneğine tıklayın. Connection Information bölümünde, hedef proxy uç noktasının ID değerini bulun.

    3. Hedef proxy uç noktasının Actions sütununda, Modify Configuration seçeneğine tıklayın.

    4. Görüntülenen iletişim kutusunda aşağıdaki parametreleri yapılandırın:

      • Read/Write Attributes değerini Read/Write (Read/Write Splitting) olarak ayarlayın.

      • Read Weight Allocation için Custom seçeneğini belirleyin. Salt okunur örneğin ağırlığını 10000, ana örneğin ağırlığını ise 0 olarak ayarlayın. Ardından OK düğmesine tıklayın.

    5. Connection Information bölümünde, VPC türündeki proxy uç noktasını edinin.

  2. cxx1 test hesabını kullanarak ECS örneğini veritabanına bağlayın ve okuma işlemleri gerçekleştirin.

    1. RDS örneğine bağlamak istediğiniz ECS örneğinde oturum açın.

      Not

      Bir ECS örneğinde oturum açma hakkında daha fazla bilgi için bkz. Bir örneğe bağlanma.

    2. ECS örneğini RDS örneğine bağlamak için aşağıdaki komutu çalıştırın:

      mysql -hProxy endpoint -PPort number -uUsername -pPassword

      Aşağıdaki tabloda, önceki komutta kullanılan parametreler açıklanmaktadır.


      Parameter


      Description


      Configuration


      Proxy Endpoint


      1. Adım adresinden aldığınız VPC-type proxy uç noktası.


      RDS örneğine bir istemci kullanarak bağlanıyorsanız, bir public proxy uç noktası kullanmanız gerekir.


      P


      Bağlantı noktası numarası. Büyük P harfinden sonra bağlantı noktası numarasını girin.


      Yok.


      -u


      Kullanıcı adı. u harfinden sonra kullanıcı adını girin.


      Yok.


      p


      Parola. Küçük p harfinden sonra parolayı girin.

      -p öğesinden sonra parolayı girin. Boşluk bırakmayın.

      Parolanın düz metin olarak görüntülenmesini önlemek için, komutu çalıştırmadan önce -p öğesinden sonra parola girmek yerine komutu çalıştırdıktan sonra da parolayı girebilirsiniz.

    3. testdb01 veritabanına erişmek için aşağıdaki komutu çalıştırın:

      USE testdb01;
    4. Okuma işlemleri için SQL deyimlerini altı kez yürütün. Örnek deyim:

      SELECT * FROM products LIMIT 20;
  3. testdb01 veritabanında yazma işlemleri için SQL deyimlerini üç kez yürütün. Örnek deyim:

    Not

    Önceki adımda, ECS örneğini RDS örneğine bağladınız ve testdb01 veritabanına eriştiniz. Daha fazla bilgi için bkz. 2. Adım.

    CREATE TABLE Products11 (
     prod_id CHAR(10) NOT NULL,
     vend_id CHAR(10) NOT NULL,
     prod_name CHAR(254) NOT NULL,
     prod_price DECIMAL(8,2) NOT NULL,
     prod_desc VARCHAR(1000) NULL
    );                               
  4. Ana RDS örneği ve salt okunur RDS örneğinde yürütülen SQL deyimlerinin kayıtlarını görüntüleyin.

    Salt okunur örneğin tüm SELECT sorgularını, ana örneğin ise tüm CREATE sorgularını işlediğini onaylayın. Salt okunur örnekte hiçbir CREATE sorgu günlüğünün görünmediğinden emin olun.

    1. ApsaraDB RDS konsoluna gidin ve Instances sayfasına gidin. Üst gezinme çubuğunda, ana RDS örneğinin bulunduğu bölgeyi seçin. Ardından ana RDS örneğini bulun ve RDS örneğinin ID değerine tıklayın.

    2. Ana örnek için sol gezinme bölmesinde, Autonomy Services > SQL Explorer and Audit seçeneğini belirleyin. Bir zaman aralığı seçin ve Search düğmesine tıklayın. SELECT sorgusu için herhangi bir yürütme günlüğünün görünmediğini onaylayın.

    3. Ana örnek için sol gezinme bölmesinde, Basic Information seçeneğine tıklayın. Read-only Instance yanındaki sayının üzerine gelin ve görüntülenen iletişim kutusunda salt okunur örneğin ID değerine tıklayın.

    4. Salt okunur örnek için sol gezinme bölmesinde, Autonomy Services > SQL Explorer and Audit seçeneğini belirleyin. Bir zaman aralığı seçin ve Search düğmesine tıklayın. SQL denetim günlüklerinde, SELECT * FROM products LIMIT 20 sorgusu için altı kayıt gösterilir. Veritabanı testdb01, işlem türü SELECT ve tüm işlemlerin durumu Success olarak görünür.

    5. Ana örnek için sol gezinme bölmesinde, Autonomy Services > SQL Explorer and Audit seçeneğini belirleyin. Bir zaman aralığı seçin ve Search düğmesine tıklayın. CREATE komutu için üç yürütme kaydı görebilirsiniz. Örneğin, bu kayıtlar CREATE TABLE Products11, CREATE TABLE Products12 ve CREATE TABLE Products13 gibi sorgulara karşılık gelebilir. Veritabanı testdb01 ve tüm işlemlerin durumu Success olarak görünür.

Doğrulama sonucu

Salt okunur RDS örneğinin ağırlığı 10000 ve ana RDS örneğinin ağırlığı 0 olarak ayarlandığında, tüm yazma istekleri ana RDS örneği tarafından, tüm okuma istekleri ise salt okunur RDS örneği tarafından işlenir. Bu şekilde, okuma/yazma ayrımı uygulanmış olur.