微服务架构问题(Spring Cloud初步认知)
微服务架构问题
四个核心问题
1.服务如何去访问?
2.服务如何进行通信?
3.服务如何治理?
4.服务挂了怎么办?
在Java生态上,构建是基于SpringBoot,协调是基于SpringCloud,
以下所有架构,全部基于以上4个问题进行解决
1.netflix 一站式解决方案
1.Api网关,zuul组件
2.Feign---HttpClient---Http,同步并阻塞
3.服务注册和发现,Eureka
4.熔断机制,Hystrix
18年底,Netflix宣布无限期停止维护。
2.Apache Dubbo zookeeper 解决方案
1.没有API ,要么第三方,要么自己实现
2.Dubbo一个高性能基于Java的RPC通信框架
3.服务注册与发现,Zookeeper
4.没有熔断
生态不完善,Dubbo3.0据说会提供相关支持
3.SpringCloud Alibaba 一站式解决方案
和Netflix差不多,加了更方便的功能,但是Netflix停更了
4.新概念
方案:服务网格化,下一代微服务标准,Server Mesh
使用istio进行治理
为什么解决这个问题?
本质:网络不可靠
如果自己的一套生态能更好、更方便,那么也可以进行使用
我们主要是学习关于SpringCloud Alibaba的5个组件,Eureka、Ribbon、Zuul、Hystrix、Feign。