微服务架构的核心问题?
1.服务这么多,客户端该怎么访问?
2.这么多服务,客户端如何通信?
3.这么多服务,如何治理?
4.服务挂了怎么办?
解决方案:
SpringCloud 不是技术 是个生态
1.Spring Cloud NetFlix一站式解决方案
- api网关,zuul组件
- Feign — HttpClient—Http通信方式,同步,阻塞
- 服务注册发现:Eureka
- 熔断机制:Hystrix
2.Apache Dubbo zookeeper半自动,需要整合别人
- API:没有,找第三方组件,或者自己实现
- Dubbo
- Zookeeper
- 没有,借助Hystrix
Dubbo这个方案并不完善
3.Spring Cloud Alibaba一站式解决方案,更简单
4.新概念:服务网格~ server Mesh
- istio
万变不离其宗:
1.Api 路由问题
2.Http,RPC 通信问题
3.注册与发现 高可用问题
4.熔断机制 服务降级问题
常见面试题:
1.什么是微服务
是一种架构模式或者架构风格,提倡将单一的应用程序划分成组小的服务,彻底解耦,