Web后端系统架构漫谈(4)——LVS的三种工作方式

LVS的全称是”Linux Virtual Server”,即Linux虚拟服务器,该项目项目于1998年由章文嵩博士创立。LVS实现了IP层的数据包转发和负载均衡,常被用来进行后端服务集群的虚拟化,对外提供一个统一的IP入口,使整个后端服务集群对外部用户完全透明,就好像是一个台服务器对外提供服务一样。另外使用LVS可以很方便地在后端服务器集群中增删服务节点来提供高可扩展性,LVS也提供健康检查来实现集群的高可用性。

阅读全文

Web后端系统架构漫谈(2)——一致性hash算法

一致性hash算法使用场景设想一个场景,有n个cache db,以key-value pair的形式存储数据,一个指定的key-value,我们首先对它的key计算哈希值,然后将这个哈希值对n取模,结果就是这个key-value被路由到的cache db。通过这种方式可以将所有的key-value pair路由到对应的cache db中。这个过程用伪代码表示为:

阅读全文

垃圾回收(GC)算法介绍(3)——GC复制算法

GC复制算法概述GC复制算法的基本思想是将一个堆分成两个大小完全相等的两个空间:from和to。在分配内存时,总是从from空间中分配,当from空间满无法分配时,将from空间中的所有活动对象都复制到to空间中,复制完毕后回收from空间中的所有对象,最后交换from空间和to空间,如此往复下去。

阅读全文