zoukankan      html  css  js  c++  java
  • SpringCloud全家桶学习之一阶段总结(一)

    一、概述

      前几篇小博客记录了我学习SpringCloud组件的过程,并与工作中所用的Dubbo框架做了一点比较,基本组件:Eureka、Ribbon、Hystrix、Feign、Zuul、Config,当然,这些目前在工作中还未曾使用,但是作为一名程序员,选择了IT行业,你就永远不能被时代落下,真所谓JS的名言:“真正的大师永远怀揣着一颗学徒的心”,机会是给有准备的人的,所以什么都了解一点,生活更多彩一些。

      SpringCloud中文网:https://www.springcloud.cc/

    二、总结

    (1)Eureka

      官网地址:https://github.com/Netflix/eureka

      ①Eureka采用C-S的设计架构,分为客户端和服务端两部分;服务器端,也被称作是服务注册中心,用于提供服务的注册与发现;客户端组件包含服务消费者与服务生产者。在应用程序运行时,Eureka客户端向注册中心注册自身提供的服务并周期性的发送心跳来更新它的服务租约。同时也可以从服务端查询当前注册的服务信息并把他们缓存到本地并周期性的刷新服务状态。

      ②Eureka支持高可用的配置,当集群中有分片出现故障时,Eureka就会转入自动保护模式,它允许分片故障期间继续提供服务的发现和注册,当故障分片恢复正常时,集群中其他分片会把他们的状态再次同步回来。

      ③涉及注解:@EnableEurekaServer、@EnableEurekaClient

    (2)Ribbon

      官网地址:https://github.com/Netflix/ribbon

      ①客户端负载均衡

      ②涉及注解:@LoadBalanced、@RibbonClient(配置)

    (3)Feign

      官网地址:https://github.com/OpenFeign/feign

      ①Feign是一个声明式的WebService客户端,底层默认实现了Ribbon负载均衡,使用非常简单:接口+注解

      ②涉及注解:@FeignClient("微服务名称")  注:此注解用于接口

    (4)Hystrix

      官网地址:https://github.com/Netflix/hystrix

      ①Hystrix是一个用于处理分布式系统的延迟和容错的开源库,我做了服务熔断和降级练习

      ②涉及注解:@HystrixCommad(fallback="方法名")、结合@FeignClient(fallbackFactory=xxx.class)

    (5)Zuul

      官网地址:https://github.com/Netflix/zuul

      提供代理、路由、过滤三大功能

      Zuul服务最终还是会注册到Eureka

      ③涉及注解:@EnableZuulProxy

    (6)Config

      官网地址:https://www.springcloud.cc/spring-cloud-config.html

      ①SpringCloud Config分为服务端和客户端

      ②SpringCloud Config为微服务架构中的微服务提供了集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。

      ③涉及注解:@EnableConfigServer

    三、展望

      至此、SpringCloud的基本组件:Eureka、Ribbon、Feign、Hystrix、Zuul、Config已经了解了,接下来i就是一些进阶的,比如:

      ①SpringCloud Stream:数据流开发包

      ②SpringCloud Turbine:聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况

      ③SpringCloud Task:提供云端计划任务管理、任务调度

      ④SpringCloud Sleuth:日志收集工具包实现了一种分布式追踪解决方案,封装了Dapper和log-based追踪以及Zipkin和HTrace操作。

      ⑤SpringCloud Security:基于spring security的安全工具包,为应用程序添加安全控制

    以及其他方面的学习,例如:

      ①服务部署:Kubernetes、OpenStack

      ②全链路追踪:Zipkin,brave

      ③服务监控:zabbix

      ④SpringCloud CLI:基于Spring Boot CLI,可以以命令行的方式快速建立云组件

      ⑤全局控制:选举leader、全局锁、全局唯一id

      ⑥安全鉴权:Oauth2、openId connect

      ⑦自动化构建与部署:gitlab+jenkins+docker

  • 相关阅读:
    BLE编程中关键步骤
    gradle相关配置内容解析
    Gradle版本变更的问题
    【问题】AndroidStudio导入项目一直卡在Building gradle project infod的最快速解决方案
    jdbc.properties各种数据库连接配置
    EL表达式语言总结
    Android sdk目录介绍
    chrome的常用快捷键和命令
    Unity Hub for Mac 破解
    MAC下安装配置Tomcat
  • 原文地址:https://www.cnblogs.com/rmxd/p/11580161.html
Copyright © 2011-2022 走看看