首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多服务器环境中以高可用性/高性能方式存储会话的最佳方法

在多服务器环境中以高可用性/高性能方式存储会话的最佳方法
EN

Server Fault用户
提问于 2011-08-09 17:43:52
回答 1查看 856关注 0票数 3

我有一个应用程序(Magento),它有一个抽象的会话存储层。我试着想象最好的存储会话的方法。

mysql数据库?我想要一个有一个非常大的innodb_buffer_pool_size的专用数据库,所以它基本上就像内存缓存和磁盘备份一样。我正在考虑只为会话使用一个单独的DB,并将其他DB内容放在单独的DB/DB服务器上。

备忘录?这很好,但是我有点担心如果服务器崩溃会发生什么呢?我会因为崩溃而失去会话的分区,因为据我所知,Memcache是不被信任的。我能让它不被信任吗?(我刚刚被告知我可以使用>= 3模块

tmpfs内存文件存储?这是可行的,但我必须使用rsync或检测该文件夹中何时发生写的东西来与所有其他服务器同步会话。我相信一定有什么东西存在的。

其他我没想过的解决方案?会喜欢创意的。

谢谢!

EN

回答 1

Server Fault用户

发布于 2011-08-21 14:14:52

备忘录?这很好,但是我有点担心如果服务器崩溃会发生什么呢?我会因为崩溃而失去会话的分区,因为据我所知,Memcache是不被信任的。我能让它不被信任吗?(我刚刚被告知我可以使用>= 3模块

我在用再缓存。开始时如下所示:

  • 在服务器1:memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached.pid -x <server2_ip>
  • 服务器2:memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached.pid -x <server1_ip>

PHP Memcache扩展的配置:

代码语言:javascript
复制
extension=memcache.so
memcache.allow_failover = 1
memcache.redundancy = 1
memcache.session_redundancy=2
memcache.hash_strategy = consistent

以及php.ini中的会话处理程序:

代码语言:javascript
复制
session.save_handler = memcache
session.save_path="tcp://ip1:11211, tcp://ip2:11211"
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/299335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档