• ASCE1885
    2019-11-22
    是否使用客户端负载均衡,跟微服务框架中服务之间通信是使用 RPC 协议还是 HTTP 协议无关,例如Spring Cloud 中的 Ribbon 就是用来进行客户端负载均衡的;一般来说,在系统接入层,使用的是服务端负载均衡,而微服务之间的内部调用,使用的是客户端负载均衡。

    作者回复: 是的

    
     8
  • 蓝魔丶
    2019-11-26
    1.nginx类的负载组件只支持静态配置,无法动态感知配置,使用openrestry代替nginx好很多,不仅可以动态配置,而且比nginx提供了更多扩展模块
    2.在docker容器的k8s环境中也使用过nginx-controller代理组件,但是这个组件虽然可以实现动态配置参数,但是路由和治理能力都偏弱,可以考虑使用istio等servicemesh网关
    
     1
  • longslee
    2019-11-25
    打卡。 涨姿势了。
    曾经项目使用一层 IBM WebSphere 简单路由,但是客户端学聪明了,都手动绑定 hosts ,负载不均衡了。所以还是多层不暴露比较好。
    提问:老师,您讲到结合注册中心的客户端负载均衡,它又是怎么做到“动态策略”的呢?

    作者回复: 文中有提到,一般是在RPC客户端里面统计对服务端的连接数或者响应时间,这样可以选择连接数最少,或者响应时间最短的服务端

    
     1
  • M
    2019-11-22
    请教下老师,app与服务器之间使用websocket协议连接,如何使用负载均衡呢?

    作者回复: nginx可以支持websocket协议的

     2
     1
  • sdjdd
    2019-11-22
    关闭服务之前,用 503 状态码响应健康检查是不是语义更明确一些。

    作者回复: 是的,我的意思是这样的

    
     1
  • jc9090kkk
    2020-01-16
    感谢老师分享,这一刻看完有一个疑问,对于负载均衡的一些策略都清楚了,但是对于负载均衡器的承载容量有点疑问,比如说通过nginx来作为负载均衡器,但是它本身的承载容量是有极限的,如果当前nginx的转发容量只能支撑10w/s的访问请求,但是流量如果达到20w/s,那么nginx作为负载均衡器来讲,是否需要增加新的负载均衡器一起协调工作,那么同时存在两个负载均衡器的话,工作于它上一层的任务由谁来处理呢?lvs?还是dns?或者是其他?负载均衡器不可能没有极限吧?

    作者回复: 是LVS,LVS的承载能力要大很多

    
    
  • 古德
    2020-01-06
    以前用阿里云的时候,我们的架构是使用阿里云的SLB,直接转发到微服务网关zuul上,再根据url去分发到对应服务。

    作者回复: 也可以,zuul作为7层负载

    
    
  • い北风
    2020-01-03
    老师,我在之前的面试遇到过一个问题。知道已有功能,如何选取服务器。去购买服务器的配置呢?

    作者回复: 我想面试官想了解的是 你是否可以根据业务特点来选取服务器,比如数据库要选取大内存、大磁盘的存储型的服务器;计算比较多的业务要选取CPU性能比较好的

     1
    
  • 良记
    2019-12-03
    老师好像很少说到Spring Cloud相关的组件,有的话也是一笔带过,请问是这些组件的性能不好吗?

    作者回复: 不是的,只是有些组件没有在实际项目中用过,不敢随便说~

    
    
  • Geek_33c134
    2019-12-02
    nginx能否已集群的方式同时提供呢?也就是如果最外层用nginx来做代理的话,理论上nginx能够承受的并发量为5W,如果7的并发量来的话,是否可以采用两台nginx同时提供服务呢?(如果不可以nginx当最外层同时提供服务,解决这种方法是应该通过lvs来提供最外层,然后转发到两台nginx,但是如果lvs也达到了瓶颈那么如果来解决呢?)
    
    
  • 阿土
    2019-11-28
    优雅关机与启动有案例么?理解了原理,具体怎么实现呢?

    作者回复: 文中提到的nginx的例子,就是一个案例
    除此之外,在微服务在重启时,先从注册中心中摘掉节点,然后观察流量没有了之后再重启。

    其实,总的一点就是先切流量,再重启

     1
    
  • 白马度和
    2019-11-27
    负载均衡还有一种策略:粘性连接。同一客户的请求会被分发到同一个服务实例。如F5的cookie中pool就是对目标服务的记忆,还有ng的sticky策略也是这样。
    
    
  • 星空123
    2019-11-25
    老师提供的nginx_upstream_check_module 我要自己研究下,有些东西确实公司限制多,都没用过

    作者回复: 这个是标配的,可以看看~

     1
    
  • Luciano李鑫
    2019-11-25
    负载均衡应该分为:
    客户端负载均衡
    后端负载均衡
       DNS负载均衡
       IP负载均衡
       反向代理负载均衡
    展开
    
    
  • 啊啊啊哦哦
    2019-11-24
    nginx 上为什么要阶lvs。 一般dns服务器也可以实现轮训分发到不同的nginx上啊。

    作者回复: LVS能抗更高的并发

    
    
  • 约书亚
    2019-11-23
    "请求包转发之后,由客户端和后端服务直接建立连接..."
    这里的建立连接这个描述似乎不太严谨,实际没有“连接”对吧。
    负载均衡除了F5这种硬件的基本都接触过了,在各个维度有各个维度负载均衡,曾经改过ribbon的负载,原生的weighted response太简陋了
    其实一直有疑问,为什么把响应时间作为权重的负载算法,虽然有,但出现的相对较少,难道不实用,还是耗费计算资源?
    
    
  • 小喵喵
    2019-11-22
    1.Nginx和LVS都可以做负载均衡,这些组件也都可以应用于C/S系统吗?
    2.health_check只能检测到服务器和节点指点是否可用,节点可用但是并不能代表内部服务接口是可用的,这个有什么好的方案呢?

    作者回复: 1. 是可以的
    2. 是的,这个在于你被探测接口的实现

    
    
  • leesir
    2019-11-22
    求教,对于普通web服务,nginx有办法感知新增结点吗?

    作者回复: 可以呀,有一种consul + nginx方案,就是把节点信息写在consul里面,这样当节点变化时,nginx可以得到通知

    
    
  • 陈 争
    2019-11-22
    恰巧最近在研究怎样优雅的关闭服务节点,老师的讲解给了我很多启发。
    看来nginx_upstream_check_module需要搞起来了(≖ᴗ≖)✧
    
    
  • XD
    2019-11-22
    一口气读完。干货还是很多的。
    
    
我们在线,来聊聊吧