微服务架构的4个核心问题
- 服务这么多,客户端如何访问?
- 这么多服务,服务之间如何通信?
- 这么多服务,如和治理?
- 服务挂了该如何处理?
解决方案
Spring Cloud NetFlix 一站式解决方案:解决以上4个问题的解决方案分别为
问题1:api网关,zuul组件
问题2:Feign --HttpClinet --Http 通信方式,同步,阻塞
问题3:服务注册与发现:Eureka
问题4:熔断机制:Hystrix
Apache Dubbo Zookeeper 的解决方案,在前面的分布式入门篇介绍了
优点:它是专一的RPC框架
缺点:没有问题1,和问题4的解决方案,要使用一般需要借助其他组件来解决这两个问题
Spring Cloud Alibaba 一站式解决方案,新技术
详情:(这是一个新技术,也是以后学习的方向)略
Spring Cloud与Doubbo两套解决方案的区别
最大区别:SpringCloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式,REST相比于RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务幻境下,显得更加合适。
解决的问题领域不一样 :Dubbo的定位是一款RPC框架,Spring Cloud的目标是微服务架构下的一站式解决方案。
Spring Cloud与SpringBoot的关系
SpringBoot专注于快速,方便的开发单个个体微服务,SpringCloud关注全局的服务治理框架。
参考文档链接
- https://springcloud.cc/spring-cloud-netflix.html
- 中文API文档:https://springcloud.cc/spring-cloud-dalston.html
- SpringCloud中国社区:http://springcloud.cn/
- SpringCloud中文网:https://springcloud.cc
下一节博客内容
搭建一个Maven总项目,来学习Spring Cloud所涉及到的相关知识。
博客总结于:狂神说Java视频。B站地址:https://space.bilibili.com/95256449