東川印記

一本東川,笑看爭龍斗虎;寰茫兦者,度橫佰昧人生。

简单学习微服务之SpringCloud

2022年6月21日星期二



继续简单学习一下

spring cloud家族 https://spring.io/projects/spring-cloud

1,spring-cloud-dependencies 需要与spring-boot-starter-parent版本对应

当前最新 2.7.0 https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent


当前最新2021.0.3 https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies

spring clloud alibaba版本关系 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E


2,服务提供者与服务调用者

注册中心(eureka server)

服务提供者provider(eureka client)  -> 服务消费者consumer(eureka client)

3,网关 Zuul

API 网关服务器

调用报错 org.springframework.boot.web.servlet.error.ErrorController.getErrorPath()Ljava/lang/String

特么的,原来是已经被spring cloud放弃了。。。。

为了让后面学习的路简单些,那就只能降级了。。。。

根目录pom

    父依赖org.springframework.boot降到 2.0.7.RELEASE

    org.springframework.cloud降到 Finchley.SR2

eureka降到 2.0.2.RELEASE

zuul降到2.0.2.RELEASE

也是超级fk了。。。。

3.1) 负载均衡

启动两个相同的服务,注册到注册中心

比如向注册中心注册两个providerStudent服务,一个8011端口,一个8012端口

配图1

然后通过zuul网关去访问providerStudent服务http://localhost:8030/ps/student/port

zuul会自动分流,到不同的服务,如8011或8012,从而实现负载均衡。

4,Ribbon 负载均衡

spring cloud ribbon是一个负载均衡解决方案。

只比服务消费者代码在获取RestTemplate的时候多了一个@LoadBalanced //负载均衡。。。。

效果跟zuul一样,不过zuul是架设在网关层,ribbon是在服务层。

5,Feign

声明式、模板化的Web Service客户端。

整合了Ribbon和Hystrix,实现可插拔、基于注解、负载均衡、服务熔断等。

比Ribbon+RestTemplate代码更简化。

Ribbon是一个基于Http的客户端工具,Feign基于Ribbon实现。

6,Hystrix容错机制

在不改变各个微服务调用关系的情况下,对错误情况进行预处理。

服务隔离、服务降级、熔断、提供实时监控和报警、提供实时配置修改。

监控结合 Actuator使用。Actuator提供健康监控及数据统计。

hystrix-stream获取监控请求数据及可视化页面。

7,本地配置中心

建立项目config-server-native用来存放服务配置

建立项目config-native-client用来读取服务配置

启动两者,测试读取结果。

8,远程配置中心

把本地配置挪到远程git或者svn....

9,服务跟踪zipkin

跟踪请求执行的来源及走向

10,汇总

服务治理 Eureka

服务通信Ribbon

服务通信Feigin

服务网关 Zuul

服务容错 Hystrix

服务配置 分布式配置Config

服务监控 Actuator

服务跟踪 Zipkin

服务提供者、服务消费者、配置中心等在启动时都注册到注册中心Eureka,然后消费者去注册中心取相应的路径。

当服务多时,可以通过服务网关Zuul去调用服务。可以通过使用Ribbon做服务间的负载均衡。使用Hystrix对错误情况进行预处理。Feign整合了Ribbon和Hystrix。建立统一的配置中心,用来统一管理配置。服务跟踪Zipkin用来跟踪请求。

--
senRsl
2022年06月16日09:48:55

没有评论 :

发表评论