SpringCloud学习
Posted biyangqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud学习相关的知识,希望对你有一定的参考价值。
1.SpringCloud的参考博客1
首先主要遇到的问题就是
1.写好项目然后放到tomcat或者其他的容器中,然后稍微一点修改就要整个项目重新发布,非常麻烦,这就是微服务出现的契机了
基础知识
PS :不同的项目可以用不同的语言编写
PS: 微服务就是把独立运行的系统弄成多个小的项目,不同的项目中间通过http restful API进行通信协作
PS : 为啥微服务出现的了? 因为传统一个项目,有时只改了一点点的东西就要让整体停下,不太方便。 为了解决该问题,微服务概念出现了
![](https://image.cha138.com/20210524/095e4233d71a411bb858df2b005e48d8.jpg)
----------------------
--------------------------------
PS : actuator,监控整个应用程序
PS: 统一开发工具和版本避免踩坑
服务的注册与发现
PS: 就是一个服务注册中心,负责注册中心的服务。 类似于dubbo
----------------实践
1.代码
服务中心 eureka-server
服务中心 eureka-server-ha高可用
服务提供者 hello-service
服务消费者 ribbon-consumer
PS: 就是不能让服务挂掉
PS:下图是启动Eureka-server,服务中心什么也没有
PS:有注册服务方以后
PS: 服务注入
PS:调取服务
---------------------------详解Eureka
PS:这是服务注册和消费的图,那个Replicate是为了服务同步共享, 详细看书Eureka的讲解
![](https://image.cha138.com/20210524/a1c796b5060d443cabf007644e7c9696.jpg)
PS: Ribbon 是专门用来消费服务的,是客户端的负载均衡
PS: Ribbon相当于一个客户端,去请求Eureka(相当于数据库)
Feign- 教程说坑比较多
![](https://image.cha138.com/20210524/32c23e7ea6ac4180a2ba1476fee6d671.jpg)
PS: 雪崩效应是 A调用B,然后没有调用通,...最后系统都没有调用通
实现容错有两种方案:
1.设置超时
2.设置断路器,
-----------------服务端负载均衡和客户端负载均衡的区别--------------------------------
![](https://image.cha138.com/20210524/0177e80fcce64af08130bd87a7ffabc8.jpg)
![](https://image.cha138.com/20210524/b305ec8d511e4730860ab3e749a07e8b.jpg)
PS: 这就是熔断的机制
![](https://image.cha138.com/20210524/490848238d454b4aa719d10ce8abad00.jpg)
PS: Feign也是一种服务消费工具,整合了Ribbon和Hystrix
PS: springcloud bus配合springcloud config实现消息推送
PS: 随着服务增多,引用越来越多,就会变乱,然后用sleuth就行追踪服务
![](https://image.cha138.com/20210524/b2ae238a820e410bb80a94ab2c86c265.jpg)
以上是关于SpringCloud学习的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud系列四:Eureka 服务发现框架(定义 Eureka 服务端Eureka 服务信息Eureka 发现管理Eureka 安全配置Eureka-HA(高可用) 机制Eur(代码片段