作为Azure服务架构新手,我有一个关于' 可靠集合的问题。
如果您已阅读文档,我开始想知道如何使用可靠的馆藏?
- 他们是否取代了数据库系统?
- 他们只支持x-process | node state sharing场景吗?
- 它们是否应仅用作优化缓存?
- 可靠集合的典型大小是什么:MB / 0-5GB / 5-10GB?
答案 0 :(得分:2)
他们会替换数据库系统吗?
不一定,就像比较苹果和橘子一样。首先,有多种类型的数据库引擎,如关系引擎(SQL Server)和NoSQL引擎(如CosmosDB)。通常,可以从外部查询数据库,而可靠集合的典型方案是仅托管服务为其自身状态所需的数据。
例如,多个Service Fabric Services可以使用真实数据库。可靠的集合旨在由一项服务使用。
来自the docs:
Reliable Collections与其他高可用性技术(例如Redis,Azure Table服务和Azure Queue服务)之间的主要区别在于,状态在本地保留在服务实例中,同时也具有高可用性。
外部数据库引擎仍有其位置,例如用于报告目的。
它们是否应仅用作优化缓存
不,有更好的缓存产品可以提供更好的功能,例如,没有烘焙支持可靠集合中的自动缓存失效。
Service Fabric是构建微服务的绝佳平台。在微服务理念中,每个微服务使用数据存储的概念占据突出位置。为了减少数据检索的延迟,可以使用可靠的集合。它也在the docs
中列出可靠集合的典型大小:MB / 0-5GB / 5-10GB?
来自the docs:
可靠服务通常是分区的,因此您可以存储的数量仅受群集中计算机数量以及这些计算机上可用内存量的限制。
例如,假设您在具有100个分区和3个副本的服务中拥有可靠的集合,并存储平均大小为1 kb的对象。现在假设你有一台10机器集群,每台机器有16GB的内存。为简单起见而保守,假设操作系统和系统服务,Service Fabric运行时和您的服务消耗6gb,每台机器可用10gb,或者群集为100gb。