zookeeper服务注册中心&负载均衡

Nginx VS 软负载均衡

nginx作为作为传统的负载均衡器,通过简单的配置即可完成负载均衡器的配置,单台nginx作为负载均衡器还存在单点故障(SPOF)问题,对应nignx的单点故障,通常采用nginx+keepalive的方式做双机热备份,客户端通过vip访问后端服务,当单台nignx宕掉的时候,vip漂移到另一台nginx以此实现nginx高可用。那么使用nignx作为负载均衡器有哪些缺点呢?

  1. 负载均衡策略简单。当前支持轮询,权重,ip绑定,fair,url_hash,对于动态权重调节,服务降级不能很好支持

  2. 蓝绿部署支持困难。比如新上线一个功能,可能需要引流特定的账号体现新功能,此时可以用如下方式满足要求

    • 通过将新账号信息加入到http头中,按照head中的用户信息分流到带新功能的节点上,此方案显然需要人工参与,或用自动化脚本实现
    • 通过nginx+lua+redis方式。将需要引流的用户放到redis中,当请求过来后通过方式1获取到用户信息,然后通过lua脚本在redis中查询是否存在该用户,如果存在,则将该用户引流到带新功能的节点上
  3. 应用级自动failover难以实现

    通过上面两种方法可以发现,虽然可以达到目的,但过程繁琐,特别是系统采用微服务架构方式后,问题更明显

软负载均衡

所谓软负载均衡就是通过软件的方式实现类似nginx的功能。需要一个服务注册中心,需满足如下几点

  1. 一个统一的注册中心支持将服务注册上去
  2. 当后端服务不再健康时,能够自动从注册中心注销掉该服务
  3. 注册中心需要具备反向通知的能力,能够实时监控服务健康状态
  4. 支持高可用

实际上光有注册中心还不过,试想如果每次客户端访问后端服务都需要到注册中心去查询服务列表,在高并发场景下注册中心不就成为了性能瓶颈点。所以还需要在客户端做点功能

  1. 客户端因缓存下服务列表,当某个服务实例宕掉后,利用注册中心反向通知能力刷新本地缓存
  2. 支持不同的负载均衡策略
  3. failover支持,当调用某个接口失败时可自动切换到下一个节点

满足上面几个条件后基本上就可以实现一个简单功能的软负载均衡器了,可以看出软负载均衡器由于使用代码方式实现,以后扩展灵活,想加一个负载均衡策略加上就完事了,想做蓝绿可以开发一个服务注册中心管理器,通过反向通知,通知服务下线。想做蓝绿升级,滚动升级,也可以在注册中心管理器中安装下线升级上线的流程完成蓝绿部署或滚动升级

zookeeper软负载均衡

将了这个多,软负载均衡和zookeeper有什么关系呢?细心的朋友可以发现完全可以用zookeeper实现实现一个这样的注册中心,通过zookeeper的临时节点和session长连接就可以实现反向通知和服务宕机后自动下线和通知功能。

lb.png

那么用zookeeper作为负载均衡会不会有缺点呢?
zookeeper是一个CP,也就是说当网络分区发生时,分区内的机器如果没有过半,那么该分区实际是整个down掉了,该分区内的负载均衡和服务注册中心全over了,服务不可用了,所以这个时候可以使用本地缓存,或者爱用AP模型的注册中心,如euraka

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,681评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,710评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,623评论 0 334
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,202评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,232评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,368评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,795评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,461评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,647评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,476评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,525评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,226评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,785评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,857评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,090评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,647评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,215评论 2 341

推荐阅读更多精彩内容