大华面试

过程:大华公司是我第一次面试,面试官上来就问我项目的内容,做了哪些业务,系统并发多少,印象中只问了两个技术问题:1.tomcat是什么,解释一下?2.系统中负载均衡是如何实现的?
感受:大华可能只有一次面试,感觉上来挺着急的,一些基本技术都没问,也可能是我太菜了,人家懒得问,哈哈
知识点:
1.tomcat是什么?
tomcat就是一个servlet容器,可以接收浏览器的请求,封装在HttpServletRequest对象中,经过一系列处理之后,把数据封装在HttpServletResponse对象中,把响应数据结果传给浏览器,浏览器再根据返回的response进行相应的渲染
2.系统中负载均衡如何实现?
大华面试_第1张图片
一般的架构分层如上图,每层的请求都需要负载均衡。
1.客户端的请求,一般可以通过DNS轮训实现,例如多个请求baidu.com,dns解析后返回不同的ip地址,这些ip对应反向代理层的服务实例,也就是 nginx 的外网ip。
2.反向代理层到web层的负载均衡,一般采用Ngnix反向代理,有多种均衡算法:
(1)按照请求时间去轮训
(2)根据ip的hash值去寻找对应的web层,这样同一个ip的请求会分发到相同的web服务器,可以解决session的问题
(3)weight 权重 、 fair、url_hash 等
3.web层到业务服务层的负载均衡,可以采用dubbo,dubbo内置了四种负载均衡策略

RandomLoadBalance:随机负载均衡。随机的选择一个。是Dubbo的默认负载均衡策略。
RoundRobinLoadBalance:轮询负载均衡。轮询选择一个。
LeastActiveLoadBalance:最少活跃调用数,相同活跃数的随机。活跃数指调用前后计数差。使慢的 Provider
收到更少请求,因为越慢的 Provider 的调用前后计数差会越大。
ConsistentHashLoadBalance:一致性哈希负载均衡。相同参数的请求总是落在同一台机器上

4.业务服务层到数据存储层的负载均衡,一般采用分库分表的方法,因为单库或单表性能有限。

你可能感兴趣的:(大华面试)