轉自https://blog.csdn.net/weixin_41571449/article/details/79429511
個人觀點:etcd的紅火來源於kurbernetes用etcd做服務發現,而redis的興起則來源於memcache緩存本身的局限性。
etcd是一種分布式存儲,更強調的是各個節點之間的通信,同步,確保各個節點上數據和事務的一致性,
使得服務發現工作更穩定,本身單節點的寫入能力並不強。
redis更像是內存型緩存,雖然也有cluster做主從同步和讀寫分離,
但節點間的一致性主要強調的是數據,並不在乎事務,因此讀寫能力很強,qps甚至可以達到10萬+
兩者都是k-v存儲,但redis支持更多的存儲模式,包括KEY,STRING,HMAP,SET,SORTEDSET等等,
因此redis本身就可以完成一些比如排序的簡單邏輯。而etcd則支持對key的版本記錄和txn操作和client對key的watch,因此適合用做服務發現。
日常使用中,etcd主要還是做一些事務管理類的,基礎架構服務用的比較多,容器類的服務部署是其主流。
而redis廣泛地使用在緩存服務器方面,用作mysql的緩存,通常依據請求量,甚至會做成多級緩存,當然部分情況下也用做存儲型redis做持續化存儲。