gpt4 book ai didi

MySQL 集群(主/从)和 Hibernate

转载 作者:可可西里 更新时间:2023-11-01 07:45:36 24 4
gpt4 key购买 nike

应用开发时是单数据库,spring配置如下。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="" />
</bean>


<bean id="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
...
</props>
</property>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="hibernateProperties">
<ref bean="hibernateProperties" />
</property>
<property name="mappingResources">
<list>
<value>...</value>
</list>
</property>
</bean>

<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="dataSource" ref="dataSource" />
<property name="sessionFactory" ref="sessionFactory" />
</bean>

然而,对于生产环境,可能会使用 MySQL 集群或主/从复制。对此的代码/配置更改有任何想法吗?

还有一个简单的问题 - 在专用服务器上运行的单个 mysql 服务器实例每秒可以处理多少事务?

最佳答案

我曾处理过类似的问题,尽管没有涉及 Spring。我们针对 MySQL 的本地实例开发了指向(每个开发人员的盒子上都有一个),生产系统是一个主/从复制环。实际上,我们更进一步,将应用服务器与数据库服务器置于同一位置,因此在应用和数据库级别都有一个四节点集群。

我们的应用程序在 JBoss 中运行。它相当轻,但在应用程序服务器级别确实有一些严重的集群。综上所述,我们每秒能够获得超过 300 个请求,有时甚至接近每秒 1000 个请求(取决于应用程序处理)。数据库从来都不是瓶颈——即使以这样的速度,我们也很少看到连接池超过 5 个连接。

在这两种情况下(我的和你的),由于 JDBC URL 指向本地服务器,从应用程序的角度来看,实际上没有任何功能差异。我不得不使用自动增量设置来玩一些有趣的配置游戏,以防止数据被踩踏;如果您只有一个部署点(因此只有一个 MySQL 实例的访问点),则您无需担心这些。

因此,没有代码更改,也没有配置更改。它会起作用的。在标准条件下,您由主/从实例对或集群支持这一事实不会产生影响,因为您很可能指向集群前面的主实例或 MySQL 实例(在 MySQL 中,集群在一个或多个数据库服务器后面,复制数据)。

您希望处理哪种类型的负载? MySQL 已benchmarked过去超过 1000 TPS,但结果往往会因底层系统特征(内存、CPU 内核、处理器速度)、应用程序的响应能力和并发线程而异。

关于MySQL 集群(主/从)和 Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/732648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com