高并发下2台服务器本地的变量之间怎么进行通信

高并发下2台服务器本地的变量之间如何进行通信?

当前我的应用是2台在线机器 a b (各自都装mysql tomcat java 服务器)

为了实现2台机器之间通信. 各自mysql的服务器有1个库mdb 表message(id,value)—该表只有3条记录. innodb引擎

2台各自在本地 java thread 几乎每1分都会update 本地的message sql 为update message set value=? where id=? 1天这些update 总共有千次以上

偶而2台会彼此互相update 对方的这个表.(但这种情况并不多)

这样做在高并发下出现严重性能问题, 简单的update 有时候会7秒以上.慢查询这些update 1天7百条

开始思考用heap 表,但是这个表是表级锁.不太适合这种情况.——————–没有在线测试 直觉

federatd 引擎估计不适合的.2边的数据不见得完全一样.

现在思考换用java程序的某个数据结构(设置为全局变量来实现).完全在内存里做.不通过数据库.

如果用全局变量, 本地update 很轻松, 现在头疼的是 “2台会彼此互相update 对方的这个表” 这个功能如何在java里实现?

问题简化为2台java服务器本地的全局变量之间如何进行通信? (消息队列?) 或者其他可用的数据库方法来解决这个性能问题? 




学习了




你所谓的高并发大概有多少,2太服务器的话,一个DB,一个web比较合适




这并发量太小了 等每秒上千次更新再说吧




你这个,用消息队列再合适不过了。openjms, 或者activemq

高并发下2台服务器本地的变量之间怎么进行通信

相关文章:

你感兴趣的文章:

标签云: