欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

springclod_入门

程序员文章站 2022-03-26 18:07:28
万事开头难,先搞清楚几个名词 集群: 定义 通过多台计算机完成同一个工作,达到更高的效率。 两机或多机内容、工作过程等完全一样。如果一台死机,另一台可以起作用。 例子 例如abc3个人一起开发java 部署的项目随着访问人数越来越多,性能越来越差怎么办,再买台服务器,把这个项目再部署到新的环境里 分布式: 定义 一个业务分拆....
万事开头难,先搞清楚几个名词
    集群:
        定义
            通过多台计算机完成同一个工作,达到更高的效率。
            两机或多机内容、工作过程等完全一样。如果一台死机,另一台可以起作用。
        例子
            例如abc3个人一起开发java
            部署的项目随着访问人数越来越多,性能越来越差怎么办,再买台服务器,把这个项目再部署到新的环境里
    分布式:
        定义
            一个业务分拆多个子业务,部署在不同的服务器上(不同的服务器,运行不同的代码,为了同一个目的)
            多个计算机完成各自独立的模块从而构建一个系统的应用
            模块之间独立,各做各的事,便于扩展,复用性高
            高吞吐量
        例子
            a负责前段,b负责后端,c负责数据库
            某个任务需要一个机器运行10个小时,将该任务用10台机器的分布式跑,
            将这个任务拆分成10个小任务,可能2个小时就跑完了
    分布式集群
        定义:
            既有分布式,又有集群
        例子:
            5个小伙子写Java,4个小伙子写前端,2个小伙子做测试
springcloud
    在搞清楚了集群,分布式之后,springcloud自然就懂了
    就是给集群/分布式,微服务提供一整套的实现方案的,牛不牛逼!
SpringCloud的基础功能:
    服务治理: Spring Cloud Eureka
        场景:
            解决子系统直接互相调用接口,如果其中一个ip改变了,手动维护静态Ip简直是噩梦的问题
        实现:
            建立一个独立于所有其他微服务的E服务,这里注册所有微服务的ip,接口,其他服务不再通过ip调用,而是通过e服务的清单来调用,通过不太会变得服务名找到Ip
    客户端负载均衡: Spring Cloud Ribbon
        场景:
            解决集群之间如何做到负载均衡的功能
        例子:
            一个双11秒杀系统准备上线,3个集群,如何才能做到在当天将高并发请求均衡的分配到3台服务器上呢  
        实现:
            Ribbon采用客户端负载均衡,客户端可以从Eureka Server中得到一份服务清单,
            在发送请求时通过负载均衡算法,在多个服务器之间选择一个进行访问)
    服务容错保护: Spring Cloud Hystrix
        场景:
            在高并发的情况下,由于单个服务的延迟,可能导致所有的请求都处于延迟状态,
            甚至在几秒钟就使服务处于负载饱和的状态,资源耗尽,直到不可用,
            最终导致这个分布式系统都不可用,这就是“雪崩”。
        实现:
            Hystrix通过断路器、线程隔离等措施
            简而言之,它能够监控整个系统的请求,如果某个微服务的请求中断,熔断器中断,后续对该服务请求会直接返回状态码。过一段时间再回复熔断器
    声明式服务调用: Spring Cloud Feign
        场景
            Ribbon和Hystrix作为基础工具类框架广泛地应用在各个微服务的实现中。
            为了简化我们的开发,Spring Cloud Feign出现了
            整合了Ribbon 与 Hystrix,还提供了声明式的服务调用(不再通过RestTemplate)。
            Feign是一种声明式、模板化的HTTP客户端。
            在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,
            开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。
    API网关服务:Spring Cloud Zuul
        场景:
            所有的服务都需要权限校验,荣誉
        实现:
            Zuul整合Eureka,将自身变成服务治理框架,同时所有外层调用走网关,使得维护和校验由自己实现,类似于sso单点登录
    分布式配置中心: Spring Cloud Config
        场景:
            随着业务的扩展,我们的服务会越来越多,越来越多。每个服务都有自己的配置文件。
            10个集群的配置文件,一个改动,都得改动
            在分布式系统中,某一个基础服务信息变更,都很可能会引起一系列的更新和重启
        实现:Spring Cloud Config就是将配置文件放到统一的位置管理(比如GitHub),客户端通过接口去获取这些配置文件。

 

本文地址:https://blog.csdn.net/m0_37840243/article/details/107387131

相关标签: springclod