所以我对redis还比较陌生,尝试使用redis enterprise建立redis集群。
我正在查阅以下文件:
https://redislabs.com/blog/multi-tenancy-redis-enterprise/
一路走到最后,它说
Shard: A shard is an open source Redis instance. Redis, being a single-threaded process, runs on one CPU core. You could maximize your throughput by running a shard on each CPU core.
以上问题:
这是否意味着,如果我的主机是一个4核cpu,那么建议在每个核上运行4个不同的redis示例?如果是,那么这是如何实现的。我真的不知道如何启动4个不同的redis示例,让它们都在不同的cpu上运行。
只有当我可以利用多个服务器的ram时,切分才对我有意义。一个cpu上的ram是有限的,在一个ram上分片对我来说听起来非常违反直觉。有没有一种方法可以利用来自多个服务器的ram和跨多个ram的shard。它并不能真正解释在ram受限的情况下,分片是如何起到帮助作用的。
之后,文件上说:
Database: A database is the logical endpoint that holds the data for a tenant. You can assign multiple shards to a database to meet any data set size or throughput requirements....
关于上述声明的问题:
逻辑端点是什么意思?另外,如果数据库只存储一个租户的数据,那么如何确保特定数据库包含只存储特定租户数据的碎片?这是否意味着数据库是仅属于特定租户的碎片的逻辑集合?
该集群如何知道特定密钥用于哪个租户?这是基于我在建立集群时需要识别的shard密钥来完成的吗?在建立redis企业集群时,我看不到一种选择shard密钥的方法。什么时候怎么做?这一切让我很困惑。
然后它会说关于一个节点
Node: A node is a physical server, virtual machine, container or cloud instance on which the Redis Enterprise software is installed. At any given time, a node can include between zero and a few hundred Redis databases.
问题
redis集群中有多个节点和跨多个节点的数据库集群是典型的吗?跨多个节点的多个cpu核心是否会被视为一个节点,因为每个核心似乎只有一个redis示例在运行?
总而言之,redis enterprise中redis集群中的shard、数据库和节点的概念在解释时变得非常混乱。
如果有人能帮助我理解以上内容并用简单的语言解释这三者之间的关系,我将不胜感激。
暂无答案!
目前还没有任何答案,快来回答吧!