zoukankan      html  css  js  c++  java
  • 【springcloud知识点梳理】

    【引子】初学者常说的springcloud常用的五大组件:

    • 服务注册与发现——Netflix Eureka(【[juˈriːkə】you瑞卡,不要纠结发音)

    • 负载均衡(包括客户端负载均衡Ribbon,服务端负载均衡Feign)

    • 断路器——Netflix Hystrix

    • 服务网关——Netflix Zuul

    • 分布式配置——SpringCloudconfig

    这次接触cloud直接跟着教学文档敲了一遍,就像二师兄吃人参果,,没什么感觉,很多细节都一带而过了,所以想再从概念到demo运行捋一遍,至少应该把基础打牢一些。


    【概念疑惑】

    Netflix是什么,为什么在文档里多次出现,百度后发现N其实是个视频网站,因为视频迭代与网络访问量大,其公司开始进军微服务领域, 可以说是微服务先锋了,SpringCloud的封装内容也包括了很多Netflix内容。

     SpringCloud在项目中做了什么,有什么作用(优势):

      从组件的角度来说吧,

      Eureka 采用了C-S的架构设计,是微服务架构中的注册中心,专门负责服务的注册与发现

    其具体包含Eureka server 和Eureka client两个组件,

    Eureka server 提供服务注册。

    Eureka Client组件专门负责将服务的信息注册到Eureka Server中(就是告诉Eureka Server,自己在哪台机器上,监听着哪个端口)。而Eureka Server是一个注册中心,里面有一个注册表,保存了各服务所在的机器和端口号。

    而系统中的其他微服务,使用Eureka的客户端连接到EurekaServer并维持心跳连接。这样系统的维护人员就可以通过EurekaServer来监控系统中各个微服务是否正常运行,Springcloud 的一些其他模块 (比如Zuul) 就可以通过EurekaServer来发现系统中的其他微服务,并执行相关的逻辑。
    也可以这么理解,eureka可以扮演三个角色:

    • Eureka Server:提供服务的注册与发现
    • Service Provider:服务生产方,将自身服务注册到Eureka中,从而使服务消费方能狗找到
    • Service Consumer:服务消费方,从Eureka中获取注册服务列表,从而找到消费服务

      负载均衡

    在cloud中负载均衡可以分为客户端负载均衡(ribbon),服务端负载均衡(fegin)

    以淘宝天猫举例,C/S模式,对吧,通过浏览器就可以发送请求,不用每台电脑都安装特定软件,这样虽然方便,但是随着网络普及,给服务器的鸭梨也越来越大,一台服务器根本没法满足,用户不断地发送大量请求会给server端带来压力和风险,所以需要很多个服务器分担,如何分担就是负载均衡要做的事情。

      断路器(我喜欢就叫熔断器哈哈)Hystrix

    当某些微服务长时间不可用或者无响应,hystrix会监控微服务间调用的状况,当失败的调用到一定阀值缺省是5秒内20次调用失败,就会启动熔断机制。

    就像操作系统里提到的什么时间片轮转法,先来先服务,短作业优先等等调度算法,都是因为资源有限,没有调度进程迟早会阻塞的。假如链路上(比喻为水管)某位置漏水了,那么完成水池注水任务就会慢上很多,造成重大损失,所以说,熔断器可以及时止损233.

      服务网关Zuul

    包含路由和过滤两部分: 路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。

      Spring cloud config 分布式配置中心

    可以集中式管理配置文件,
    不同环境,不同配置,动态化的配置更新,分环境部署,比如 /dev /test /prod /beta /release这些profiles
    运行期间动态调整配置,不再需要在每个服务部署的机器上编写配置文件,服务会向配置中心统一拉取配置自己的信息


    睡觉先

  • 相关阅读:
    安装MongoDB
    power mode idea 插件
    安装nodejs,运行打包Vue项目
    我的爬虫随笔(一)
    用sql实现背包问题
    HTML基础
    CSS配置颜色和文本
    MongoDB技术实践与应用案例征集活动
    7、消息队列的高可用、高可靠
    运行asp.net core webapi 时报502错误
  • 原文地址:https://www.cnblogs.com/dabuliu/p/15045821.html
Copyright © 2011-2022 走看看