NCache 高可用性和定期维护

该视频演示了如何 NCache 通过提供 100% 的正常运行时间和数据可靠性,使您的数据保持高度可用。 在这个特定的演示中,我将从正在运行的缓存集群中启动和停止缓存服务器节点,我将向您展示如何 NCache 为您的客户端应用程序成功处理该问题,而不会造成任何停机或数据丢失。

今天,我将讨论“如何实现高可用性” NCache 以及如何 NCache 为您提供高可用性”。 如你所知, NCache 用于无法承受任何停机时间的关键任务应用程序。

这是您有一个应用程序服务器场的图片,该服务器场正在使用多个服务器的缓存集群,然后有多个数据源。 而且,这些通常至少是两个或多个缓存服务器。

NCache 用于关键任务应用
NCache 用于关键任务应用

而且, NCache 为您提供 动态缓存集群,您可以在运行时添加或删除缓存服务器而无需停止应用程序,因为 NCache 具有对等架构。 而且,我将在今天的视频中演示这一点。

我将使用分区副本拓扑,我们将从这里开始并不断添加更多服务器,您将在此拓扑中看到每台服务器都有一个分区。 所以,如果我从一台服务器开始,它只有一个分区,副本也在同一个分区上,或者,也许没有副本,然后当你添加第二台服务器时,你有两个分区。 因此,缓存的整个数据被分成一半,每个分区被复制到不同的服务器上。

缓存拓扑:分区副本缓存

然后,当您添加第三台服务器时,您将拥有三个分区,并且相同的数据被分成三个分区。 现在每个分区都有三分之一的数据,而不是一半的数据,并且每个分区都备份到不同的服务器上。 所以,这就是我要演示的内容。

在运行时添加客户端和服务器

让我快速进入产品并向您展示这个。 我将使用三个缓存服务器。 我将从一个开始,然后我会继续添加更多。 然后,我有一个客户,实际上我现在就坐在客户端机器上。 所以,我要点击它并打开 NCache 网络管理员,这是一个基于网络的管理工具。 目前,这就是 NCache 安装时出现 NCache. 所以,当你安装 NCache 在所有这三台服务器上,每台服务器上都安装了一个“democache”。 所以,我现在要启动 democache,你会看到 democache 已经启动。

启动缓存
启动缓存

一旦它开始,我也会打开它的统计数据,我也会监控缓存。 监控给了我一个非常好的仪表板。 有一个服务器仪表板和一个报表仪表板。 报告仪表板非常类似于统计窗口。 因此,我将坚持使用服务器仪表板并将其保留在此处。 而且,既然我已经运行了这个,我现在需要运行客户端。

NCache 带有基于 Powershell 的压力测试工具。 所以,让我输入这个词 NCache. 有一个 Powershell 管理,所以,我要运行“测试压力”,我会给它一个我的缓存的名称,即“democache”,你可以在这里看到'测试压力演示缓存'。 缓存名称不区分大小写,因此您可以随意输入。

压力测试工具
压力测试工具

当我启动应用程序时,这是我的压力测试工具。 存在的原因是,您无需进行任何编程即可开始测试 NCache. 您还可以通过此压力测试工具模拟压力。 这就是为什么它被称为压力测试工具。 但是,你知道,想象一下这将是你的应用程序。

现在,如果我进入我的统计窗口,你会看到我统计了大约 400 个项目,而且它还在不断增加。 我每秒有大约 981 或大约 1000 个来自该客户端的请求。

统计窗口
统计窗口

我现在要继续运行第二个客户端应用程序。 所以,我可以通过启动多个压力测试工具实例来继续添加多个客户端,或者对不起 Powershell 实例。 所以,如果我来到这里,我再说一遍 测试压力演示缓存. 一旦我这样做了,你会看到计数或请求现在几乎翻了一番。 因为,每个客户端,正如你在这张图片中看到的,每个客户端都将自己的事务负载放到服务器上,所以服务器的事务容量几乎翻了一番。 我还可以在这里看到,在我的服务器仪表板中,我有两个客户端连接到一个节点缓存集群。

添加了第二个客户端
添加了第二个客户端

因此,我目前使用的集群中只有一台服务器。 好的,我现在要开始了,让我们假设现实生活中发生的事情是,你知道,你的容量会增长,顺便说一下,我们建议至少有两个缓存服务器。 因此,您永远不应该只在其上运行一个缓存服务器。 但是,我只想从一个开始,所以,我可以在运行时添加两个服务器来展示给你看。

所以,现在我要做的下一件事是,我要添加第二个缓存服务器,我要添加的第二个缓存服务器是 117。我会继续,117,我会说添加。 它已添加,但已停止。 所以,我要在这里点击它并说开始。 这只会启动服务器节点。

添加第二个缓存服务器
添加第二个缓存服务器

一旦我从这里开始,你会看到第二个节点将被添加到这里,那里。 并且,缓存计数已经下降。 我没有向您展示缓存计数实际上是两倍,现在它是两台服务器,缓存计数下降了,每秒的事务请求数被分成了一半。 因为,一半的请求正在被这个缓存服务器处理,一半的请求正在被这个缓存服务器处理。 所以,这就是计数下降的方式。

统计数据

所以,现在我刚刚添加了一个缓存服务器,而没有停止应用程序。 您可以看到压力测试工具在此处运行,它也在此处运行。 完全没有问题。 现在发生的事情是我的分区,所以,我是一台服务器,现在我是一个两台服务器集群。 所以,有分区一,分区二,每个分区都备份到另一台服务器上。 所以,让我告诉你那是什么。 所以,这里是分区一。 它有这么多物品,它的复制品就在这里。 所以,你看这个数量几乎和这个一样。 而且,这是我的分区二。 大约有 1500 个东西,它在这里备份。

异步。 复制

现在这个复制是异步的。 所以,这个计数并不总是准确的。 但是,即使您停止交易,它最终也会是准确的。

行。 现在,假设我的事务负载不断增长。 我的业务做得很好,我需要增加更多的服务器,因为我需要增加交易容量。 我还可以添加更多客户,因为这就是即将发生的事情。

首先是,我将添加更多客户端,因为我要做的第一件事是添加更多客户端,我的意思是更多应用程序服务器。 而且,这将导致更高的事务负载。 看吧,这个交易负载会增加,那里,看。 每台服务器达到 1182 台,而不是 800 台左右,实际上它甚至超过了 1200 台左右。

更高的交易负载
更高的交易负载

因此,交易负载不断上升。 我也可以在这里看到。 我可以看到每台服务器上每秒的请求,随着我添加更多服务器而分发,它正在增加。

所以,既然我已经添加了更多的客户端,在某些时候我需要,你知道,我会注意到我的缓存服务器开始变慢,因为事务容量已经达到最大值,或者可能是多少内存的存储容量我在每台服务器上都在最大化。 所以,我需要再添加一台服务器。

无论如何,正如我所说,我们建议至少两台服务器。 因此,您至少不应该在生产中使用单个服务器集群。 因为,这不会为您提供高可用性。 因此,当您至少有两个并且达到这两个的容量限制时,就该添加第三台服务器了。

我们如何添加第三台服务器? 我在这里有第三台服务器 157。我会马上来这里,我会说添加一个服务器,它是 157。所以,我会来这里添加 157。再次,它被添加但它停止了。 我会来这里,选择这个并说开始。

添加第三个缓存服务器
添加第三个缓存服务器

一旦我开始注意到这个 1800 将会下降。 注意,一旦第三台服务器启动,它将在那里分担负载。 看,每个人都降到了大约 1100 个左右。

负载共享
负载共享

因为,现在我有三台服务器而不是两台,正如我在这里展示的那样,当你有三台服务器时,你就有了三个分区。 因此,来自这两个分区的数据被进一步划分为三个分区。

所以,现在每个分区都有一个副本到不同的服务器上,这就是数据的实际分布方式。 因此,我刚刚演示了您可以在不停止应用程序或缓存的情况下添加更多服务器。 所以,一切都...... NCache 它可以让你做到这一点。

好的。 所以,现在有一段时间你可能还需要关闭服务器。 有两种方法可以关闭服务器。 一个你把它永久关闭是因为你正在减少你的能力。 也许您将从三台服务器减少到两台,因为这是一项季节性业务。 您在假期期间有一个高峰使用时间,现在您将再次回到您的默认配置,您知道,较小的配置。 因此,其中一些服务器实际上将被删除。 所以,让我们继续这样做吧。

我将在此删除服务器 157。 所以,我要选择服务器 157,我会说停止。 首先我会停下来。 现在,正如你所看到的,当我停止时,这个计数会下降,这个计数会进一步增加。 看,又涨到了2000左右。 这意味着数据已经从这个转移到这个。

在运行时删除/停止服务器
在运行时删除/停止服务器

我基本上已经从三个分区配置变成了两个分区配置。 每个分区都被复制,您可以在此处看到每个分区。 所以,这个分区就在这里复制,这个分区就在这里复制,好的。 而且,如您所见,对应用程序没有影响。

因此,这几乎可以解决您需要添加服务器的情况,因为您需要增加容量,或者您需要关闭服务器,因为您的容量需求已经改变。 实际上,由于季节性使用,容量需求发生了变化。

维护模式

还有另一种情况,我们称之为维护模式,您需要关闭服务器但不是因为您的容量下降,而是因为您需要进行一些维护。 假设您需要向上应用一些操作系统补丁或其他东西。 所以,你需要让服务器停机五分钟、十分钟、半小时。 但是,您的缓存有大量数据。 我的意思是我们的客户,他们在每台服务器中都有数十 GB 的数据。 因此,如果您有一个三、四、五、六台服务器集群,并且每台服务器中有数十 GB 的数据,那么降低服务器实际上会影响性能。 因为,现在如果你必须重新分区,一切都从三个分区变为两个分区,你将进行大量的状态转移,然后为了什么,再次将其添加回来。 因此,我们提出了一个称为维护模式的功能,您可以在其中知道 NCache 好吧,我正在关闭这台服务器,但我不希望您重新分区缓存,将其保留为三个分区节点,分区一,分区二,副本三,就在这里,将成为分区三。 而且,这保持活跃。 这是临时安排。 完成后,您将恢复该节点,它会再次回到这张图片。

维护模式关闭缓存服务器
维护模式关闭缓存服务器

让我告诉你如何做到这一点,好吧。 所以,我会,首先再次实现三服务器配置,我要添加这个,假设我已经删除了它,现在我将它添加回来。 我应该删除它,我只是停止了它。 但是,我要把它加回来。 我又在一个三节点集群上。 我的数据分布均匀。

维护模式关闭缓存服务器
维护模式关闭缓存服务器

我的事务负载是均匀分布的,我也可以在这里看到它。 实际上,这还没有显示,它会显示。 但无论如何。 所以,一旦我有了这个,现在我需要进行维护。 所以,我要来这里,我会说,好吧,记住每个节点每个大约有 1200 个项目,好吧。

所以,如果我要把它降下来,对于一个两节点集群,每个节点应该有 2000 多个项目,这不会发生,因为,我要来这里,我会说,在这里我会说停止维护。

停止节点进行维护
停止节点进行维护

当我点击它时,它会询问我,您希望将其维护多久? 显然,这个超时非常重要,因为在那个超时结束时 NCache 假设它不再维护。 因为,如果您此时不添加节点, NCache 假设您实际上已经永久删除了它,就像我刚刚向您展示的其他已删除一样,它实际上将删除并重新分区缓存。

停止节点进行维护
停止节点进行维护

但是,如果您在此时间段内将其添加回来并且它是可配置的时间段,如果您在此时间段内将其添加回来,那么 NCache 将执行我刚刚向您展示的操作,它不会重新分区,它只会保留该分区,该副本处于临时分区模式。 所以,让我说,好吧,我是说现在停止。 所以,让我们来这里 1300, 1300, 1470 现在这完全消失了。 但是,请注意这个计数并没有增加。 为什么? 因为其中一个副本已成为活动分区。 通过这张照片你不知道是哪一个,但计数没有上升的事实,复制品仍然存在。 此副本已成为活动分区。 所以,现在服务器 XNUMX 有分区 XNUMX 和分区 XNUMX,服务器 XNUMX 有分区 XNUMX 和被动副本 XNUMX,服务器 XNUMX 停机了,我需要这样做,你知道,我需要将其停机进行维护。

维护模式关闭缓存服务器
维护模式关闭缓存服务器

所以,现在你去进行维护。 你应用你的补丁,现在你已经完成了,现在你想恢复它,所以,你再次来到这里,你甚至不需要重新添加,只需说重新开始,因为它被停止了。 而且,顺便说一句,应用程序仍在运行,没有任何中断。 因此,所有这些,所有这些更改都不需要任何应用程序中断。 所以,我要说重新开始。 而且,一旦我说开始,现在观察,它将重新获得它的位置,它再次赶上数据,你会再次看到它再次处于与以前相同的水平。

在运行时启动节点

结论

因此,如您所见,我已经演示了在运行时永久添加和删除节点以及临时删除节点以进行定期维护。 至此,我的演示就结束了。 我曾希望向你证明 NCache 为您提供高可用性。 这是一个 100% 的正常运行时间,您无需关闭任何应用程序。 应用程序没有中断。

接下来做什么?

 

联系我们

联系电话
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。