互联网常见的分布式加构分层
1、客户端层(浏览器、APP、小程序 等)
2、反向代理层(Nginx)
3、站点层(web-server)
4、服务层(service,,,dubbo webservic)
5、数据层(DB)
这五个分层的负载均衡策略
1、客户端到反向代理层是通过DNS 轮询IP(反向代理层(nginx的对外网ip)
2、反向代理层 到站点层是 通过nginx来轮询web-server的ip,当然也可以ip哈希或最少连接路由策略来将请求分发到nginx上
3、站点层到服务层是通过 服务池化来实现的,将服务层的服务发布到服务注册中心,站点层通过服务注册中心拿到注册的服务,通过线程池技术,去随机、轮询等策略去调用服务。同时,服务池也有限流、熔断、故障转移等功能
4、数据层就是分库策略。可以按主键ID做hash水平分库,也可以按业务的ID的范围来做水平分库