SpringCloud
是一个生态,不是一门技术,用来解决下面的问题
微服务的4个核心问题:
服务很多,客户如何访问?
这么多服务,服务之间怎么通信?
服务太多了,如何治理?
服务挂了怎么办?
解决方案:
spring Cloud NetFix:一站式解决方案
api网关:zuul组件
Feign --HttpClient — Http通信方式,同步,阻塞问题
服务注册:Eureka
熔断机制:Hystrix
Dubbo Zookeeper:半自动
api:没有,第三方组件
Dubbo:Rpc通信框架,异步
服务注册:zookeeper
熔断机制:没有,借助Hystrix
Spring Cloud Alibaba :一站式解决方案
1.什么是微服务?
文章:微服务(Microservices)——Martin Flower - 船长&CAP - 博客园 (cnblogs.com)
2.微服务之间怎么进行通信的?
http通信协议、RPC通信
3.springcloud和dubbo有什么区别?
springcloud是一个生态,有自己的网关zuul组件,dubbo没有,只能借助第三方,feign采用http同步的通信方式,会有阻塞,而dubbo采用rpc通信,异步的,无阻塞;springcloud的服务注册是Eureka,dubbo的服务注册是zookeeper,dubbo无熔断机制
最大区别:SpringCloud抛弃了Dubbo的RPC通信,基于HTTP的RESTful方式
4.springboot和springcloud,谈谈对他们的理解?
springboot是一个快速构建的脚手架,springcloud用来解决分布式带来的问题,如通信,如何访问,熔断问题,基于springboot构建网站
springBoot专注于快速,方便的开发单个个体微服务,springCloud关注全局的服务治理框架
springCloud依赖springBoot