zoukankan      html  css  js  c++  java
  • SpringCloud简介

    • 微服务介绍:

      微服务是一种架构风格,一个大型复杂的系统是由一个或多个微服务组成的,系统间的各个微服务可以独立部署,每个微服务间是松耦合的,每个微服务只关注于完成一件任务,每个任务代表一个小的业务能力。

      微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程。                 

    ----来自百度百科

    • 微服务中的spring-cloud

      Spring Cloud是一个相对比较新的微服务框架,2016n年推出1.0的release版本. 虽然Spring Cloud时间最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案。

      Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全居琐,leader选举,分布式session,集群状态)中快速构建的工具,使用Spring Cloud的开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。

    ----来自简书

    • Eureak

      Eureka是Spring Cloud Netflix微服务套件中的一部分,本身是一个基于REST的服务,可以与Springboot构建的微服务很容易的整合起来。

      Eureka包含了服务器端Eureka Server和客户端组件Eureka Client。服务器端,也被称作是服务注册中心,用于提供服务的注册与发现。

      Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就别一个内置的、使用轮询(round-robin)负载算法的负载均衡器。
    在应用启动后,将会向Eureka Server发送心跳,默认周期为30秒,如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。
      Eureka Server之间通过复制的方式完成数据的同步,Eureka还提供了客户端缓存机制,即使所有的Eureka Server都挂掉,客户端依然可以利用缓存中的信息消费其他服务的API。综上,Eureka通过心跳检查、客户端缓存等机制,确保了系统的高可用性、灵活性和可伸缩性。
      

    一、服务生产者启动时,向服务注册中心注册自己提供的服务

    二、服务消费者启动时,在服务注册中心订阅自己所需要的服务

    三、注册中心返回服务提供者的地址信息个消费者

    四、消费者从提供者中调用服务

    • Ribbon
      • Ribbon客户端组件, Netflix发布的开源项目
      • 主要功能:提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。
      • 提供一系列完善的配置项如连接超时,重试等。
      • 在配置文件中列出Load Balancer后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们也很容易使用Ribbon实现自定义的负载均衡算法。简单地说,Ribbon是一个客户端负载均衡器。
      • 工作时分为两步:第一步先选择 Eureka Server, 它优先选择在同一个Zone且负载较少的Server;第二步再根据用户指定的策略,在从Server取到的服务注册列表中选择一个地址。其中Ribbon提供了多种策略,例如轮询、随机、根据响应时间加权等。
    • Feign
      • 声明式的web service客户端,使编写web service客户端更容易
      • 创建接口,为接口添加注解,即可使用Feign
      • Feign可以使用Feign注解或者JAX-RS注解,还支持热插拔的编码器和解码器。
      • Spring Cloud为Feign添加了Spring MVC的注解支持,并整合了Ribbon和Eureka来为使用Feign时提供负载均衡。
    • Hystrix
      • 熔断器,容错管理工具,通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
      • 具备服务降级、服务熔断、线程隔离、请求缓存、请求合并以及服务监控等强大功能。
      • 实现了线程隔离、断路器等一系列的服务保护功能。

  • 相关阅读:
    isEmpty和isBlank区别
    java加密算法相关
    页面跳转、替换、刷新
    打开一个网站都经过了什么
    css3动画和JS+DOM动画和JS+canvas动画比较
    canvas如何兼容IE8
    移动端的300毫秒延迟问题
    几道前端的面试题
    js执行过程
    微信查看网页源代码的方法
  • 原文地址:https://www.cnblogs.com/handsomecui/p/9581668.html
Copyright © 2011-2022 走看看