【发布时间】:2017-10-16 12:37:43
【问题描述】:
我们在 Swisscom 提供的 Cloudfoundry 实例上部署了一个 Symfony 应用程序。此外,我们使用 Swisscom 提供的 Redis 服务进行缓存。
现在发生了两次 Redis 连接超时,导致我们的应用程序失败:
Redis 连接失败(connect() failed: Connection timed out):redis://password@domain.service.consul:47133
一些技术资料:
- symfony/symfony (v3.3.9)
- predis/predis (v1.1.1)
- cf 版本 6.32.0+0191c33d9.2017-09-26
config.yml看起来像缓存:
framework:
cache:
system: cache.adapter.apcu
default_redis_provider: redis://%redis_password%@%redis_host%:%redis_port%
pools:
redis_pool:
adapter: cache.adapter.redis
public: true
default_lifetime: 0
provider: cache.default_redis_provider
并用作此处定义的服务:
tag_aware_cache:
class: Symfony\Component\Cache\Adapter\TagAwareAdapter
arguments: [ '@redis_pool' ]
据我了解,我们没有使用任何与 Redis 的持久连接,而且它通常工作正常。
到目前为止,我发现让应用程序恢复稳定和运行状态的唯一解决方案是重新部署整个应用程序,这并不是一个很好的解决方案。
尤其是我不明白根本原因是什么。 我如何自行检查,Swisscom 是否确定 Redis 服务本身运行完全稳定?
【问题讨论】:
标签: symfony redis cloud-foundry swisscomdev