up:: SpringCloud开发课程查询项目内容概述

说明:

(1) 本篇博客内容:简单介绍Spring Cloud项目,需要用到的核心组件;

Spring Cloud是一个成熟的微服务框架,其定位就是为开发人员提供各种工具,以快速构建分布式系统;Spring Cloud家族十分丰富;一般,我们想要使用什么功能,Spring Cloud家族一般都有相应的组件;

Spring Cloud的核心组件(所谓核心,可以这样理解:一个Spring Cloud项目想要运行,哪些组件是必不可少的;或者说,哪些组件是在90%以上的情况下,都是需要用到的);

(1)服务注册中心;

● Spring Cloud是多模块的,模块之间是需要调用的;调用之前,首先服务与服务之间要发现对方;

● Eureka就是一个不错注册中心;;我们会启动一个Eureka Server,并且把其他组件作为Eureka Client给注册上去;

(2)服务调用;

● 服务之间的调用方式,不同的体系是不一样的;比如,Dubbo体系采用的是RPC,Spring Cloud采用的是HTTP(具体上,就是REST);REST风格的API优雅简介,表达上准确明了;

● 在Spring Cloud项目中,我们会给不同模块设置REST风格的API,然后通过Feign实现调用;

● 在利用Feign进行调用的时候,还会用到Ribbon来进行负载均衡;

直观讲解一下 RPC 调用和 HTTP 调用的区别! - 简书

RPC(远程过程调用)详解

(3)服务网关;

● 服务网关采用Zuul组件;

● 在微服务项目中,有了网关,可以让不同模块之间配合的更好;

● 对于,外部用户来说,其看不到内部的不同模块,用户只看到网关就足够了;这可以提高系统的安全性;

● 通过网关,也可以设置过滤器,进行鉴权等;

(4)断路器;

● 使用Hystrix来实现断路功能;;这样以后,在流量很大,某个服务撑不住的时候,我们的项目整体上还能保持运转;