推广 热搜: 风动潜水泵  DXBL1536/127井下UPS电源  分销商城  空气炮厂家  BQG450/0.2气动隔膜泵  厂家直销  期货  万利期权  破拱助流装置  Bc支付接口 

用中文翻译为具象状态传输(也有:代表性状态传输)-磨具磨料生产厂家

   日期:2020-11-22     浏览:2    评论:0    
核心提示:  服务行业的服务理念  最近阅读了周立的《Spring Cloud与Docker》收获挺大的,抽了一点时间对书中的内容做了总结。方便大家

  服务行业的服务理念

  最近阅读了周立的《Spring Cloud与Docker》收获挺大的,抽了一点时间对书中的内容做了总结。方便大家快速了解什么是Spring Cloud,Spring Cloud主要的功能及Spring Cloud服务治理。如下博客的内容都出自这本书。

  微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术。微服务架构应该具备以下特性:

  每个服务为独立的业务开发,一个微服务只关注某个特定的功能,例如订单管理,用户管理等。

  微服务之间通过一些轻量的通信机制进行通信,例如通过RESTful API进行调用。

  各个服务在启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息。

  服务消费者可以从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供者的接口。

  各个微服务与服务发现组件使用一定机制(例如心跳)通信。服务发现组件如长时间无法与某为服务实例通信,就会注销该实例。

  微服务网络地址发生变更(例如实例增减或者IP端口发生变化等)时,会重新注册到服务发现组件。使用这种方式,服务消费者就无须人工修改提供者的网络地址了。

  REST(Representational State Transfer ),用中文翻译为具象状态传输(也有:代表性状态传输)。是由 Roy Thomas Fielding博士 在2000年就读加州大学欧文分校期间在学术论文中提出的一个术语。REST 定义了一组体系架构原则,您可以根据这些,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态。Feign是一个声明式的WebService客户端。使用Feign能让编写WebService客户端更加简单,它的使用方法是定义一个接口,然后在接口上添加注解,同时也支持JAX-RS标准的注解。Feign也支持可插拔式的编码器和×××。SpringCloud对Feign进行了封装,使其支持SpringMVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。

  使用Hystrix实现微服务的容错处理Hystrix是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统,服务或者第三方库,防止级联失败,从而提升系统的可用性和容错性。Hystrix主要通过以下几点实现延迟和容错。包裹请求:使用HystrixCommand包裹对依赖的调用逻辑,每个命令在独立线程中执行。这使用到了设计模式中的“命令模式”。

  跳闸机制:当某服务的错误率超过一定阈值时,Hystrix可以自动或者手动跳闸,停止请求该服务一段时间。

  资源隔离:Hystrix为每个依赖都维护了一个小型的线程池(或者信号量)。如果该线程池已满,发往该依赖的请求就被立即拒绝,而不是排队等候,从而加速失败判定。

  监控:Hystrix可以近乎实时地监控运行指标和配置变化,例如成功,失败,超时以及被拒绝的请求等。

  回退机制:当请求失败,超时,被拒绝,或当断路器打开时,执行回退逻辑。回退逻辑可由开发人员自行提供,例如返回一个缺省值。

  如果没有容错处理,“基础服务故障”导致“级联故障”从而形成右边的雪崩效应

  Zuul是Netflix开源的微服务网关,它可以和Eureka,Ribbon,Hystrix等组件配合使用。Zuul的核心是一系列的过滤器,这些过滤器可以完成以下功能。

  Spring Cloud Config支持在Git, SVN和本地存放配置文件,使用Git或者SVN存储库可以很好地支持版本管理,Spring默认配置是使用Git存储库。具有如下优点:集中管理配置:一个使用微服务架构的应用系统可能会包含成百上千个微服务,因此几种管理配置是非常有必要的。不同环境不同配置:例如,数据源配置在不同的环境(开发,测试,预发布,生产等)中是不同的。运行期间可动态调整:例如可根据各个微服务的负载情况,动态调整数据源连接池大小或熔断阈值,并且在调整配置是不停止微服务。

 
打赏
 
更多>同类资讯
0相关评论

推荐图文
推荐资讯
点击排行
网站首页  |  联系客服  |  网站地图  |  排名推广  |  广告服务  |  RSS订阅  |  违规举报