一、微服务架构与面向服务架构的区别:
面向服务架构(SOA)主要针对在银行xml格式、企业级ESB 服务,重量级。
微服务架构,会更加细分,HTTP+json+restful进行,轻量级,独立运行,更加解耦。
二、SpringCloud解决什么样的问题?
配置管理、注册中心(eureka、zk)、服务发现、服务注册、断路器、路由策略、负载均衡、全局锁、分布式会话、客户端调用、接口网关、服务管理系统。
三、SpringCloud的客户端调用
rest、feign 客户端调用工具
ribbon 均衡负载
zuul接口网关
eureka 服务注册
四、怎么实现负载均衡
nginx 、lvs、HAproxy、F5、ribbon
ribbon使用的轮询机制
@LoadBalanced
//riboon负载均衡注解,谁用给谁
五、接口网关
作用:解决跨域问题、拦截请求,任何请求都先交给接口网关,然后再用网关进行转发,类似nginx的反向代理。
@EnableZuulProxy:开启网关功能
六、Nginx与Zuul的区别
相同点:Zuul和Nginx都可以实现负载均衡、反向代理(隐藏真实ip地址),过滤请求,实现网关的效果
不同点:Nginx–c语言开发
Zuul–java语言开发
Zuul负载均衡实现:采用ribbon+eureka实现本地负载均衡
Nginx负载均衡实现:采用服务器实现负载均衡
Nginx相比zuul功能会更加强大,因为Nginx整合一些脚本语言(Nginx+lua)
Nginx适合于服务器端负载均衡
Zuul适合微服务中实现网关