redis - 为什么要使用etcd?我可以使用redis来实现配置管理/服务发现等吗?

标签 redis etcd

学了几个小时的etcd,突然想到一个问题。我发现redis完全可以覆盖etcd拥有的功能,比如key/value CRUD && watch,redis使用起来非常简单。为什么人们选择 etcd 而不是 redis?
为什么?
我用谷歌搜索了一些帖子,但没有帖子告诉我原因。

谢谢!

最佳答案

Redis 将数据存储在内存中,这使得它的性能非常高,但不是很耐用。如果redis服务器挂了,很容易丢失数据。 Etcd 将数据存储在磁盘上的文件中,并在解析之前跨多个节点执行 fsync 以保证一致性,这使得它非常耐用但性能不佳。
对于 kubernetes 来说,这是一个很好的权衡,它使用 etcd 来进行集群状态和配置,而不是用户数据。对于您可能在应用程序中使用 redis 的用户 session 数据之类的东西,这不是一个好的权衡,因为您需要极快的响应时间并且可以容忍一些数据丢失或不一致。

关于redis - 为什么要使用etcd?我可以使用redis来实现配置管理/服务发现等吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51624598/

相关文章:

go - Redis 和 Go 中 MongoDB id 的布隆过滤器

amazon-ec2 - CoreOS、Fleet 和 Etcd2 容错

Kubernetes 对象大小限制

ssl - 使用 TLS 的 etcdctl 失败,curl 成功

kubernetes - etcd和Kubernetes的用例

php - Laravel 5.1 队列作业 $this->delete() 不工作

database - 易于使用/嵌入二进制安全的键/值数据库

php - 如何解决连接问题上的 redis 错误?

redis - 使用 Redis 命令 incr 和 expire 时的竞争条件

systemd - 如何在 coreOS 上将 etcd 值添加到我的 systemd 服务中?