范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

SpringCloud五大组件

  Spring Cloud五大组件
  Spring Cloud是分布式微服务架构的一站式解决方案,在Spring Boot基础上能够轻松搭建微服务系统的架构。
  现有Spring Cloud有两代实现:一代:Spring Cloud Netflix,主要由:Eureka、Ribbon、Feign、Hystrix、Zuul|Gateway、Config等组件组成。
  二代:Spring Cloud Alibaba,主要由:Nacos、Sentinel、Seata等组件组成。一、服务治理组件
  一代的服务治理组件为:Spring Cloud Netflix Eureka,主要负责Spring Cloud的服务发现与服务注册。
  二代的服务治理组件为:Spring Cloud Alibaba Nacos,可以将Nacos理解为服务注册中心和配置中心的结合体;可以替换一代组件中的:Eureka、Config。1.1 Eureka
  Eureka采用C/S架构,包含两大组件:Eureka Server:服务注册中心,其他微服务启动时,服务注册到Eureka Server。Eureka Server维护了可用服务列表,存储所有注册到Eureka Server的服务的信息。
  自己搭建的Eureka Server服务端:https://gitee.com/Xiaoxinnolabi/my-eureka-serverEureka Client:客户端,也就是微服务集群中的各个微服务。微服务启动后,Eureka Client会向Eureka Server发送心跳(默认周期30S)。Eureka Server在多个心跳周期内(默认90S)没有接收到某个Eureka Client的心跳,则将该Eureka Client从可用服务列表移除。Eureka实现服务注册与发现的原理:服务注册中心(Register Service):Eureka Server,提供服务注册和服务发现功能服务提供者(Provider Service):Eureka Client,服务的提供者,以供应服务给消费者所发现。服务消费者(Consumer Service):Eureka Client,服务的消费者,从服务注册中心获取服务列表,调用所需服务。调用所需服务:通过HTTP或者消息中间件远程调用服务提供者提供的服务。1.2 Nacos
  Nacos 英文全称为 Dynamic Naming and Configuration Service,是一个由阿里巴巴团队使用 Java 语言开发的开源项目。
  Nacos采用C/S架构,包含两大组件:
  Nacos Server:可以作为服务注册中心、配置中心,帮助Nacos Client实现服务的发现、注册,配置的动态刷新。
  Nacos Client:通过spring-cloud-starter-alibaba-nacos-discovery,在Nacos Server中实现服务的注册和发现;通过spring-cloud-starter-alibaba-nacos-config,在Nacos Server中实现配置的动态刷新。
  Nacos实现服务注册与发现的流程:Nacos Server启动服务提供者Nacos Client启动,把spring.appliction.name服务名注册到Nacos Server服务消费者Nacos Client启动,把spring.appliction.name服务名注册到Nacos Server,从Nacos Server获取一份服务注册信息(包含所有注册到Nacos Server中的服务的信息)。服务消费者进行服务消费时,通过HTTP或RPC调用所需服务。Nacos特性:服务发现
  支持基于DNS和RPC的服务发现。当服务提供者使用原生SDK、OpenAPI或一个独立的Agent TODO向Nacos注册服务后,服务消费者可以通过HTTP、DNS TODO、API查找、发现服务。服务健康监测
  提供对服务的实施健康检查,能够阻止请求发送到不健康主机或服务实例上。提供了健康检查仪表盘,能够根据健康状态管理服务的可用性流量动态配置服务
  动态配置服务可以让我们以中心化、外部化和动态化的方式,管理所有环境的应用配置和服务配置。
  Nacos 提供了一个简洁易用的 UI 帮助我们管理所有服务和应用的配置。Nacos 还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助我们更安全地在生产环境中管理配置变更和降低配置变更带来的风险。动态DNS服务
  Nacos 提供了动态 DNS 服务,能够让我们更容易地实现负载均衡、流量控制以及数据中心内网的简单 DNS 解析服务。
  Nacos 提供了一些简单的 DNS APIs TODO,可以帮助我们管理服务的关联域名和可用的 IP:PORT 列表。服务及其元数据管理
  Nacos 能让我们从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及 metrics 统计数据。二、负载均衡组件
  一代的负载均衡组件为:Spring Cloud Ribbon,主要负责Spring Cloud的客户端负载均衡和服务调用工具。
  二代的负载均衡组件为:Spring Cloud Ribbon或Spring Cloud LoadBalancer;由于Spring Cloud Ribbon已停止更新,进入维护阶段,因此LoadBalancer是Ribbon新版的解决方案;基于现有市场大部分依旧使用Spring Cloud Ribbon,仅对Spring Cloud Ribbon做介绍。2.1 Spring Cloud Ribbon
  Spring Cloud Ribbon 是一套基于 Netflix Ribbon 实现的客户端负载均衡和服务调用工具。
  Ribbon 是 Spring Cloud 体系中最核心、最重要的组件之一。它虽然只是一个工具类型的框架,并不像 Eureka Server(服务注册中心)那样需要独立部署,但它几乎存在于每一个使用 Spring Cloud 构建的微服务中。负载均衡
  将用户请求平摊到多个服务器上,以达到扩展服务器带宽、增强数据处理能力、增加吞吐量、提高网络的可用性和灵活性的目的。
  常见负载均衡方式:服务端负载均衡
  如常规前后端交互中间件Nginx,在客户端和服务端直接建立一个独立的负载均衡器,负载均衡器记录可用服务器列表,通过心跳机制删除故障节点。
  请求从客户端发送时,通过中间件Nginx,按照特定算法(轮询、随机),从可用服务器选择服务端进行转发。客户端负载均衡
  客户端负载均衡是将负载均衡逻辑以代码的形式封装到客户端上,即负载均衡器位于客户端。客户端通过服务注册中心(例如 Eureka Server)获取到一份服务端提供的可用服务清单。有了服务清单后,负载均衡器会在客户端发送请求前通过负载均衡算法选择一个服务端实例再进行访问,以达到负载均衡的目的;客户端负载均衡也需要心跳机制去维护服务端清单的有效性,这个过程需要配合服务注册中心一起完成。
  Ribbon 就是一个基于 HTTP 和 TCP 的客户端负载均衡器,当我们将 Ribbon 和 Eureka 一起使用时,Ribbon 会从 Eureka Server(服务注册中心)中获取服务端列表,然后通过负载均衡策略将请求分摊给多个服务提供者,从而达到负载均衡的目的。三、熔断器组件
  微服务系统架构中,一个请求往往需要多个服务配合处理完成;当一个服务出现故障时,沿着调用链路导致微服务故障在系统中蔓延,最终导致整个系统的瘫痪,这就是"雪崩效应"。为了能够及时对服务故障进行熔断处理,微服务架构引入了熔断器组件,确保整个系统的服务容错、加强保护机制。3.1 Spring Cloud Hystrix
  Spring Cloud Hystrix 是一款优秀的服务容错与保护组件,也是 Spring Cloud 中最重要的组件之一。
  Spring Cloud Hystrix 能够有效地阻止分布式微服务系统中出现联动故障,以提高微服务系统的弹性。Spring Cloud Hystrix 具有服务降级、服务熔断、线程隔离、请求缓存、请求合并以及实时故障监控等强大功能。四、服务网关组件
  在微服务架构中,一个系统往往由多个微服务组成,而这些服务可能部署在不同机房、不同地区、不同域名下。这种情况下,客户端(例如浏览器、手机、软件工具等)想要直接请求这些服务,就需要知道它们具体的地址信息,例如 IP 地址、端口号等。
  可以通过服务网关,请求直接到服务网关,再由服务网关根据不同的标识信息将请求转发到微服务实例。
  可以在服务网关中处理一些非业务功能的逻辑,例如权限验证、监控、缓存、请求路由等。
  常见服务网关实现方案:Spring Cloud GatewaySpring Cloud Netflix ZuulNginx + Lua4.1 Spring Cloud Gateway
  Spring Cloud GateWay 最主要的功能就是路由转发,而在定义转发规则时主要涉及了以下三个核心概念,如下表。
  核心概念
  描述
  Route(路由)
  网关最基本的模块。它由一个 ID、一个目标 URI、一组断言(Predicate)和一组过滤器(Filter)组成。
  Predicate(断言)
  路由转发的判断条件,我们可以通过 Predicate 对 HTTP 请求进行匹配,例如请求方式、请求路径、请求头、参数等,如果请求与断言匹配成功,则将请求转发到相应的服务。
  Filter(过滤器)
  过滤器,我们可以使用它对请求进行拦截和修改,还可以使用它对上文的响应进行再处理。
  Spring Cloud Gateway 工作流程说明如下:客户端将请求发送到 Spring Cloud Gateway 上。Spring Cloud Gateway 通过 Gateway Handler Mapping 找到与请求相匹配的路由,将其发送给 Gateway Web Handler。Gateway Web Handler 通过指定的过滤器链(Filter Chain),将请求转发到实际的服务节点中,执行业务逻辑返回响应结果。过滤器之间用虚线分开是因为过滤器可能会在转发请求之前(pre)或之后(post)执行业务逻辑。过滤器(Filter)可以在请求被转发到服务端前,对请求进行拦截和修改,例如参数校验、权限校验、流量监控、日志输出以及协议转换等。过滤器可以在响应返回客户端之前,对响应进行拦截和再处理,例如修改响应内容或响应头、日志输出、流量监控等。响应原路返回给客户端。
  总而言之,客户端发送到 Spring Cloud Gateway 的请求需要通过一定的匹配条件,才能定位到真正的服务节点。在将请求转发到服务进行处理的过程前后(pre 和 post),我们还可以对请求和响应进行一些精细化控制。
  Predicate 就是路由的匹配条件,而 Filter 就是对请求和响应进行精细化控制的工具。有了这两个元素,再加上目标 URI,就可以实现一个具体的路由了。五、分布式配置组件5.1 Spring Cloud Config
  在分布式微服务系统中,几乎所有服务的运行都离不开配置文件的支持,这些配置文件通常由各个服务自行管理,以 properties 或 yml 格式保存在各个微服务的类路径下,例如 application.properties 或 application.yml 等。
  为了解决这些问题,通常我们都会使用配置中心对配置进行统一管理。市面上开源的配置中心有很多,例如百度的 Disconf、淘宝的 diamond、360 的 QConf、携程的 Apollo 等都是解决这类问题的。Spring Cloud 也有自己的分布式配置中心,那就是 Spring Cloud Config。
  Spring Cloud Config 是由 Spring Cloud 团队开发的项目,它可以为微服务架构中各个微服务提供集中化的外部配置支持。Spring Cloud Config 包含以下两个部分:Config Server:也被称为分布式配置中心,它是一个独立运行的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密信息和解密信息的访问接口。Config Client:指的是微服务架构中的各个微服务,它们通过 Config Server 对配置进行管理,并从 Config Sever 中获取和加载配置信息。Spring Cloud Config 工作流程如下:开发或运维人员提交配置文件到远程的 Git 仓库。Config 服务端(分布式配置中心)负责连接配置仓库 Git,并对 Config 客户端暴露获取配置的接口。Config 客户端通过 Config 服务端暴露出来的接口,拉取配置仓库中的配置。Config 客户端获取到配置信息,以支持服务的运行。

不痒也不痛,为何检查就是肝癌?肝脏是个沉默的器官,往往前期不作任何表现,晚期会出现一些信号,出现了这些信号时就意味着病情治疗难度比较大,疗效也比较差了。肝癌真的无声吗?肝癌如此隐秘,我们怎样争取做到早发现早治疗受寒就咳嗽,是怎么回事?(受邀回答嘉宾全科陈医生)景岳全书中说六气皆令人咳风寒为主,意思是说风热湿火燥寒这六气都会让人产生咳嗽的症状,而风寒为主要因素。那么为什么会有这种现象发生呢,这其实是我们气管的一种创业失败的人最惨的情况是什么,现在怎么样了?职业打拼十多年,特别是做营销策划和创投的领域,见过太多的创业失败的悲惨下场,也有几次失败,仍旧坚强,东山再起的也是少数而已。某兄,零三年左右时卖药,那个年代大家都知道,随便一个壮阳当兵的战友,退伍几十年后你还同战友领导联系吗?我是四川人,79年11月入伍,在部队几年的训练,生活接识了来自湖北,河北,河南,广东,安徽,贵州,重庆的战友,与战友们结下了深深的战友情,然而铁打的营盘流水的兵,我于83年底退伍至西蒙斯格兰特希尔德特纳,谁才是湖人目前最需要的人?肯定是格兰特啊就差锋线防守格兰特希尔德特纳这三人都是湖人最需要的球员这三人无论是位置还是作用都不同格兰特防守锋线能三能四持球突破也不错希尔德作为投手三分球是非常准特纳作为中锋可以给感音性神经性耳聋戴什么牌子助听器好?你好感音神经性耳聋戴什么样的助听器好?体听觉系统中的传音感音或分析综合部位的任何结构或功能发生障碍,都可表现为听力不同程度的减退,轻者为重听,重者为聋。由于螺旋器毛细胞听神经听觉传有哪些轻熟气质风的搭配?如果说哪一种风格的适用年龄范围最广,那毫无疑问是轻熟风了。不会过分成熟,更不会显得幼稚,总能给人一种简约大方的感觉,既能穿出优雅的气质,又能彰显小女人的一面,如果不想穿得太成熟古板不断高息揽存的民营银行,会不会严重经营亏损?存款安全吗?先来说第一个问题高息揽储的民营银行会不会因为利息太高导致经营困难?讲一个我身边的例子我认识一位小型商业银行的行长,经常在一起聚会,聚会当中他会聊起他们银行的一些状况,作为一个银行支山东订婚结婚都有哪些规矩?山东订婚结婚的规矩也不一样,十里不同俗吗,一地一个样,一村一个样,一家还有一个规矩呢,总之没有统一规定,也没有硬性指标,各人跟据各人家的实际情况而定,只能给你说个大体差不多吧。我老高斯欧拉费马华罗庚陈景润,这几个人到底谁的数学水平更高?如果要排序的话,高斯,欧拉,费马,陈景润,华罗庚。高斯高斯叫数学王子,简直就是一个天才所在,我们都知道小时候学过高斯敦1到100想加的快速解法,其实他最厉害的是尺规作正十七边形,困为什么人到中年喜欢喝酒了?每周想喝点白酒?人为什么到了中年喜欢喝酒了,每周每天都想喝点,那是因为男人到了这个岁数以后,喝点酒也是为了解决身体的乏,二是为了自己的面子,因为到了这个时候,好多不顺心的事,好多应该干的事都没有干
让朝鲜战场的九兵团回到抗战之初,与日本打,能守住上海南京吗?这个假设挺有意思的啊,我就说说我的看法。假设九兵团齐装满员的穿越回淞沪会战时守上海,还是由毛主席彭总指挥,那能把日军打残。首先,淞沪会战时的日军火力比不上长津湖战役时的美军,日军的涡扇15的推力怎么样?性能怎么样?涡扇15超过俄罗斯最高水平,接近美国同类发动机性能。涡扇15是我国专门为歼20隐身战机配套研发的涡扇发动机,性能自然没得说,好的不得了。以目前全世界军用涡扇发动机整体技术水平来看,一年级的学生,元角分要怎么教,比较好理解?大家好,我是小学班主任张老师,很高兴回答这个问题。今年我上二年级数学,在讲长度单位的认识时,也遇到了相同的问题,就是单位是米转换成单位是分米厘米或毫米的时候,很多同学出错。我冥思苦你吃过最难吃的菜和最好吃的菜是什么?我吃的最难吃的菜是素炒雪里红,终生难忘的难吃,我记忆里最好吃的菜就是红烧排骨。大笑大笑大笑我认为,没有最难吃的菜。最好吃的菜。都是相对来说。看在什么时间,什么环境,身处何方。你认为请问,开自动挡的车有什么讲究?自动挡汽车别猛踩加速踏板虽然自动挡车操作较为简单,但也要遵循一些规则。首先,在启动发动机前要拉好驻车制动器,将变速杆放在P位或N位上,踏下制动踏板才能启动发动机,否则是打不着车的。老人花光自己的退休金,错了吗?没有错,是退休金太少了。看好自己的窝,守好自己的钱!留出救命钱,剩下全花完!儿孙自有儿孙福。老话讲,家有余粮,心中不慌。老人花光自己的退休金,那么,有病怎么办?家里有其他大的花销怎农村老人说不怕坟前野鸡叫,就怕屋后蛤蟆跳,蛤蟆有啥可怕的?屋后蛤蟆跳到底有什么可怕的?农村老人说屋前屋后有蛤蟆跳的人家里容易招灾祸!在农村生活的人都知道,在农村流传着许多俗语老话,而这些俗语或许没有什么科学依据,但却是老一辈人生活经验的积大众蔚揽是最超值进口旅行车吗?大众蔚揽是最超值进口旅行车吗?这个题目不是应该是陈述句吗。对没错就是超值的。旅行车就是要去旅行,对于自驾游已经熟能生巧的我们来说大众蔚揽就是最好的工具。在这里比较推荐的是380TS女排历史上最厉害的主攻手,惠若琪能留名吗?提起女排历史上最厉害的主攻手,首先想到的是上世纪80年代叱咤世界排坛三大主攻手,她们分别是中国铁榔头郎平,美国主攻手海曼和古巴主攻波马雷斯。女排历史上最厉害的主攻手当数古巴传奇路易抚州市最具有影响力的人是谁?江西省抚州市最具有影响力的人,应该是那些为抚州市人民添砖加瓦和为抚州市的市政建设,作出了巨大贡献的农民工兄弟及打工务工(大军)人员!这个务工大军群体,在江西省抚州市乃至全中国都家喻马尚上赛季多次表达渴望打辽篮,本赛季能否如愿?马尚上赛季多次表达渴望打辽篮,本赛季能否如愿?马尚布鲁克斯在上个赛季在没受跟腱断裂之前是说过渴望战辽宁,所以也有球迷带调侃的意思说马尚布鲁克斯吃饭休息都在想着打辽宁,不管怎么说,马