【问题标题】:Amazon RDS Master Slave configuration for JBoss Java EE 6 AppJBoss Java EE 6 应用程序的 Amazon RDS 主从配置
【发布时间】:2013-09-23 09:22:13
【问题描述】:

我有一个连接到独立 MySQL 实例的 Java EE 6 应用程序。目前它使用 datasource.xml(部署在应用程序服务器上)和 persistence.xml(部署在应用程序 .war 中)连接到本地 MySQL

我希望将其配置为与以主从模式运行的 Amazon RDS Mysql 实例通信。这意味着我需要将我的应用程序配置为只写入主服务器并只读从服务器。

我怎样才能做到这一点?我猜这是一个 datasource.xml 或 persistence.xml 编辑?

【问题讨论】:

    标签: mysql amazon-ec2 java-ee-6 amazon-rds


    【解决方案1】:

    我认为没有办法自动执行此操作。您可以设置两个单独的连接池,然后您必须编写应用程序以根据需要使用不同的数据源。

    此处为 JBoss 6 数据源的说明:

    https://access.redhat.com/documentation/en-US/JBoss_Enterprise_BRMS_Platform/5/html/BRMS_Administrator_Guide/Configuring_a_Datasource_for_JBoss_Enterprise_Application_Platform_6.html

    您可以将 RDS 设置为多可用区以实现高可用性,然后您可以为只读查询创建一个或多个只读副本。

    【讨论】:

      【解决方案2】:

      您需要将 JDBC URL 与驱动程序一起使用

      com.mysql.jdbc.ReplicationDriver 
      

      这是由 URL 提取的,例如

      jdbc:mysql:replication//master_ip:3306,slave_1_ip:3306
      

      RDS 将使用 JDBC_CONNECTION_STRINGsystem 变量。

      ----附加更新-------- 来自 JBOSS 的示例 datasource.xml

      <datasource jndi-name="java:jboss/datasources/MysqlDS"
          enabled="true" use-java-context="true" pool-name="MysqlDS" use-ccm="true">
          <connection-url>jdbc:mysql://${env.AMAZON_RDS_MYSQL_DB_HOST}:${env.AMAZON_RDS_MYSQL_DB_PORT}/${env.AMAZON_RDS_MYSQL_DB_NAME}?autoReconnect=true&amp;verifyServerCertificate=false&amp;useSSL=true&amp;requireSSL=true
          </connection-url>
          <driver>mysql</driver>
          <security>
              <user-name>${env.AMAZON_RDS_MYSQL_DB_USERNAME}</user-name>
              <password>${env.AMAZON_RDS_MYSQL_DB_PASSWORD}</password>
          </security>
          <validation>
              <check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
              <background-validation>true</background-validation>
          </validation>
          <pool>
              <flush-strategy>IdleConnections</flush-strategy>
              <allow-multiple-users />
          </pool>
      </datasource>
      

      【讨论】:

        猜你喜欢
        • 2011-11-05
        • 2013-08-21
        • 1970-01-01
        • 2011-06-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-16
        相关资源
        最近更新 更多