文件首頁
MySQL Connector/J 開發人員指南
相關文件 下載本手冊
PDF (美國信紙) - 1.2MB
PDF (A4) - 1.2MB


MySQL Connector/J 開發人員指南  /  Connector/J 參考  /  支援 DNS SRV 記錄

6.14 支援 DNS SRV 記錄

Connector/J 支援使用 DNS SRV 記錄進行連線。如需 MySQL 中 DNS SRV 支援的相關資訊,請參閱使用 DNS SRV 記錄連線至伺服器

當多個 MySQL 執行個體為您的應用程式提供相同的服務時,可以使用 DNS SRV 記錄來提供容錯移轉、負載平衡和複寫服務。它們消除了用戶端在連線字串中識別每個可能主機的需求,或讓連線由額外的軟體元件處理的需求。以下是 Connector/J 對 DNS SRV 記錄支援的摘要

  • 連線 URL 中的這些新結構描述可啟用 DNS SRV 記錄支援

    • jdbc:mysql+srv: 用於使用 DNS SRV 記錄的普通和基本容錯移轉 JDBC 連線。

    • jdbc:mysql+srv:loadbalance: 用於使用 DNS SRV 記錄的負載平衡 JDBC 連線。

    • jdbc:mysql+srv:replication: 用於使用 DNS SRV 記錄的複寫 JDBC 連線。

    • mysqlx+srv: 用於使用 DNS SRV 記錄的 X DevAPI 連線。

  • 除了在連線 URL 中使用新的結構描述之外,還可以使用兩個新的連線屬性 dnsSrvxdevapi.dns-srv,分別針對 JDBC 和 X DevAPI 連線啟用或停用 DNS SRV 記錄支援。例如,此連線 URL 可啟用 DNS SRV 記錄支援

    mysqlx://johndoe:secret@_mysql._tcp.mycompany.local/db?xdevapi.dns-srv=true

    但是,將 DNS SRV 結構描述與設定為 false 的 DNS SRV 連線屬性搭配使用會導致錯誤;例如

    mysqlx+srv://johndoe:secret@_mysql._tcp.mycompany.local/db?xdevapi.dns-srv=false 
    # The connection URL causes Connector/J to throw an error

以下是 Connector/J 對 DNS SRV 記錄支援的一些需求和限制

  • 如果 DNS SRV 連線的連線 URL 中指定了多個主機(使用 jdbc:mysql+srv:replication 建立的複寫設定除外,其需要指定一個來源和一個複本伺服器),Connector/J 會擲回例外狀況。

  • 如果 DNS SRV 連線的連線 URL 中指定了連接埠號碼,Connector/J 會擲回例外狀況。

  • DNS SRV 記錄僅支援 TCP/IP 連線。如果您嘗試啟用 Windows 具名管道連線的 DNS SRV 記錄支援,Connector/J 會擲回例外狀況。

用於負載平衡和容錯移轉的 DNS SRV 記錄支援。  對於負載平衡和容錯移轉連線,Connector/J 會使用 DNS SRV 記錄的 priority 欄位來決定主機連線嘗試的優先順序。

用於連線集區的 DNS SRV 記錄支援。  在 X DevAPI 連線集區設定中,Connector/J 會定期重新查詢 DNS SRV 記錄,並優雅地淘汰任何主機不再出現在記錄中的連線,並在其主機重新出現在記錄中時將連線重新納入集區。

查閱 DNS SRV 記錄。  使用者有責任提供完整服務主機名稱;Connector/J 不會附加任何字首,也不會驗證主機名稱結構。以下是有效服務主機名稱模式的範例

  • foo.domain.local

  • _mysql._tcp.foo.domain.local

  • _mysqlx._tcp.foo.domain.local

  • _readonly._tcp.foo.domain.local

  • _readwrite._tcp.foo.domain.local

如需詳細資訊,請參閱使用 DNS SRV 記錄的連線X DevAPI 使用者指南中。