SpringCloud学习


1.SpringCloud的参考博客1

首先主要遇到的问题就是
1.写好项目然后放到tomcat或者其他的容器中,然后稍微一点修改就要整个项目重新发布,非常麻烦,这就是微服务出现的契机了


基础知识

 

PS :不同的项目可以用不同的语言编写

PS: 微服务就是把独立运行的系统弄成多个小的项目,不同的项目中间通过http restful API进行通信协作
PS : 为啥微服务出现的了? 因为传统一个项目,有时只改了一点点的东西就要让整体停下,不太方便。 为了解决该问题,微服务概念出现了

 ----------------------

--------------------------------

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的讲解


PS: Ribbon 是专门用来消费服务的,是客户端的负载均衡

 

PS: Ribbon相当于一个客户端,去请求Eureka(相当于数据库)

 Feign-  教程说坑比较多

PS: 雪崩效应是 A调用B,然后没有调用通,...最后系统都没有调用通

实现容错有两种方案:

1.设置超时

2.设置断路器, 

-----------------服务端负载均衡和客户端负载均衡的区别--------------------------------

 

PS: 这就是熔断的机制

 

PS: Feign也是一种服务消费工具,整合了Ribbon和Hystrix

 

 

 PS: springcloud bus配合springcloud config实现消息推送

 PS: 随着服务增多,引用越来越多,就会变乱,然后用sleuth就行追踪服务



原文地址:https://www.cnblogs.com/bee-home/p/9736542.html