ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【架构师从入门到进阶】第六章:服务集群优化——第四节:信息共享节点集群

【架构师从入门到进阶】第六章:服务集群优化——第四节:信息共享节点集群 【架构师从入门到进阶】第六章服务集群优化——第四节信息共享节点集群信息共享节点集群集群定时任务的处理优缺点本篇文章我们来学习信息共享节点集群。信息共享节点集群在这个集群中的所有节点连接到一个公共的信息池当中。也就是说这是我们的服务节点有很多用户每个用户进来用户的请求可以随意被分配到每个服务节点上然后每个服务节点它都对应着一个公共的信息池。这个信息池可以是db可以是缓存可以是消息队列等等甚至包括文件系统。这是一种将常见的单节点系统扩展到多节点系统的一种方式。也就是说我们原来只有一个节点有一个数据库现在又布了另外一个节点它连的也是这么一个数据库再布另外一个服务节点连的也是这个数据库。一般的情况下服务和信息池部署在不同的机器上。我们可以通过部署和启动多个服务节点的方式来完成集群的扩张。比如说现在只有两台服务器去处理我们的请求但是当有一天这两个服务器扛不住的时候我们再多部署几个服务器都连接到这个信息池当中就可以了就能扩展我们的集群。在这种方式中只是存储在一起服务并不在一起。并且这种情况下每个服务不允许存储自己的内存如果需要跟别的服务之间共享内存的东西就不要存在自己的内存里如果要存的话就存在一个公共的缓存比如说redis。当任何一个节点接收到用户请求时都会从数据库或者说从信息池中读取他们应该读到的数据然后根据对应的请求的业务逻辑去处理这些数据处理完之后再把它写入到这个信息池。这样在集群下节点与节点之间的数据就变成了互通的我的数据改完放在这里面你也能从这里面进行读取。集群定时任务的处理举个例子比如说发短信每个服务当中有定时任务这个定时任务会发送一个短信。那么为了防止多个服务都在执行那个定时任务去发送短信我们有两种办法一种是内部的锁一种是外部的唤醒。那么在这种集群方式当中既然我们操作的数据都在公共的地方那就大家去操作公共的这个地方就可以了加锁的话也去公共的这个地方加谁拿到锁谁去操作操作完释放掉并且把执行完的数据写到公共信息池里面那么第二个服务发现已经写过了那么他就不执行了就直接break掉。优缺点那么这种信息共享集群的好处是很容易的去把它扩大。就是说现在五个可以把它变成六个、七个、八个、九个、十个它的扩展非常方便。缺点就是因为各个节点共享这么一个信息池会受到信息池读写性能的影响也就说信息池越大需要存储的数据越多那么理论上来说增删改查的速度就会很慢读写性能就会变差。随着请求量的增大服务不停的在扩张如果公共的信息池不处理的话那么可能服务扩展到一定程度它对整个系统性能的提升也不是那么明显因为公共信息池就成了瓶颈。
返回列表