SpringCloud之五大组件
一、SpringCloud微服务架构
1.流程:客户端请求→ 微服务网关(Zuul)→ 注册发现中心(Eureka)→ 调用中心(Fegin通信)→ 负载均衡(Ribbon)→ 熔断器(Hystrix) 。
2.五大组件
1)Eureka:注册中心:服务发现,服务注册。
2)Feign:服务调用请求。
3)Ribbon:服务之间负载均衡。
4)Hystrix:熔断器。
5)Zuul:服务网关。
3.SpringCloud和Dubbo对比
Spring Cloud 和dubbo区别?
1)服务调用方式:dubbo是RPC springcloud Rest Api。
2)注册中心:dubbo 是zookeeper springcloud是eureka,也可以是zookeeper。
3)服务网关,dubbo本身没有实现,只能通过其他第三方技术整合,springcloud有Zuul路由网关。
RestFul和RPC的区别?
1)从本质区别上看,RPC是基于TCP实现的,RESTFUL是基于HTTP来实现的。
2)从传输速度上来看,因为HTTP封装的数据量更多所以数据传输量更大,所以RPC的传输速度是比RESTFUL更快的。
3)因为HTTP协议是各个框架都普遍支持的。在toC情况下,因为不知道情况来源的框架、数据形势是什么样的,所以在网关可以使用Restful利用http来接受。而在微服务内部的各模块之间因为各协议方案是公司内部自己定的,所以知道各种数据方式,可以使用TCP传输以使各模块之间的数据传输更快。所以可以网关和外界的数据传输使用RESTFUL,微服务内部的各模块之间使用RPC。
4)RESTFUL的API的设计上是面向资源的,对于同一资源的获取、传输、修改可以使用GET、POST、PUT来对同一个URL进行区别,而RPC通常把动词直接体现在URL上。
4.SpringBoot和SpringCloud的区别?
SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架。