1
nvkou 2020-03-19 03:09:52 +08:00 via Android
你觉得 cpu 吃不满?那同一台机器再部署计算密集型业务就是了啊
|
2
brucewzp 2020-03-19 08:25:09 +08:00 via iPhone
cachecloud
|
3
scriptB0y 2020-03-19 09:36:57 +08:00
cluster 没有必要用 sentinel 了,cluster 自身就带 fail over 功能。
7 台机器,可以三台为 master,4 台为 replica。这样 7 台机器中可以随便挂掉任意两台。(必须是依次挂掉,不能同时挂) 可以看下这个教程: https://redis.io/topics/cluster-tutorial |
4
zunceng 2020-03-19 10:06:39 +08:00
用 k8s 啊 基础服务和业务用同一个集群
|
5
guyeu 2020-03-19 10:09:47 +08:00
分库。。
|
6
sagaxu 2020-03-19 10:14:06 +08:00 via Android
单实例读写没有千万吧,十万级
|
7
fancy111 2020-03-19 10:22:36 +08:00
啥的读写瓶颈千万级啊,单机就几万。另外我没见过有几个公司达到百万并发的。
你用哨兵不就是几台机器? cluster 又不能跟 setinel 结合? excuse me? |
8
vus520 2020-03-19 11:28:46 +08:00
单实例十万级,网络就数万级。要多核心,那就多实例。
|
9
threegrandfather 2020-03-19 12:16:22 +08:00
twemproxy+redis master+redis slave,twemproxy 和 redis master 按照 2:1 比例购买机器。单实例机器 2c12g,twemproxy 机器可以小一点。twemproxy 前面顶一个内网 lb。
单实例 redis 不要超过 12G。 |
10
zhoudaiyu 2020-03-19 12:43:50 +08:00
@scriptB0y 看到 redis 大佬了!请问 sentinel 可不可以看作缩水(低配)版的 cluster ?
|
11
black11black OP @sagaxu 数据量千万级,不是并发千万级
|
12
jonathan001 2020-03-19 15:23:30 +08:00
@zunceng 你不怕互相影响么?
|
13
zunceng 2020-03-19 16:13:35 +08:00
@jonathan001 和业务集群规模一起扩 感觉还好呀 可能量还小吧
|
14
saytesnake 2020-03-19 16:28:54 +08:00
直接原生 cluster,轻松简单无烦恼,sentinel 可用可不用。
|
15
huntcool001 2020-03-19 16:47:49 +08:00
现在一般不用 sentinel, 直接 cluster 就行了.
|
16
scriptB0y 2020-03-19 20:47:33 +08:00 1
@zhoudaiyu 不是的,这两个是不同的东西。
sentinel 做的事情基本上就是 master 挂了之后帮你提升 replica 为 master,跟你雇了个人盯着 master,出问题的时候执行切换的效果一样,所以它叫做 “sentinel”。本质上这还是一个 Redis 在工作,一个 Redis 在 backup。3 个 sentinel 节点在监工(为了节省资源可以和应用部署在一起,sentinel 基本不需要什么资源)。 cluster 是完全另一个东西,它把 key 分散在多个 redis 实例上,这样就可以水平扩展了,这些实例本身会自己处理好 replica,failover。看起来 cluster 也能 failover,但是 cluster 是有限制的。1 ) cluster 不支持多个 key 的操作,比如 zinterstore,除非这些 key 存在于同一个实例上。这点想想就明白了,在多台 redis 上是无法保证都成功的。2 ) 只支持 1 个 db,db 0,select 是无效的。 然而最大的问题是 3 )客户端必须以 cluster 的协议与 redis 沟通,因为客户端需要处理路由。 可以看下 python 的客户端 https://redis-py-cluster.readthedocs.io/en/master/limitations-and-differences.html 虽然有一些方案可以用代理的方式屏蔽 cluster 的处理 redis 官方也出的 proxy: https://github.com/RedisLabs/redis-cluster-proxy pingcap 以前出品的 codis: https://github.com/CodisLabs/codis 其实从单机迁移到 cluster 也是成本很大的,我之前看过一个公司的迁移经验分享,但是找不到链接了。。。 所以场景还是不一样,水平扩展就用 clsuter,如果只需要 fail over 那就用 sentinel 模式。有很多公司也有不错的 proxy 方案 |
17
zhoudaiyu 2020-03-19 20:55:24 +08:00 via iPhone
@scriptB0y 受益匪浅,终于明白这两个的区别了,大佬对 Redis 研究颇深啊,请问有没有好的博客或是网站介绍 redis 的 sentinel 和 cluster 啊
|
18
Aresxue 2020-03-19 23:25:50 +08:00
担心机器性能利用不充分就上虚拟化比如 docker, 就不用过度关注于资源调度的问题了
|
19
daimaosix 2020-03-20 00:06:26 +08:00
我们用的 docker
|
20
d0m2o08 2020-03-20 08:41:46 +08:00
一切纠结资源调度的问题,都可以用 k8s 解决
---- 周树人 |
21
xuzhzzz 2020-03-20 17:32:01 +08:00
最近也在研究 redis 集群,没太懂你说的 redis-cluster 结合 setinel 是啥意思。。。类似于你开车出门怕车抛锚,你就让你朋友骑电动车跟在你后面,抛锚了就坐他电动车吗
|