Spring Cloud(十一):分布式配置管理 Config 之 JDBC 实现

Spring Cloud Config 支持 Git 和 JDBC 做为后端存储库,默认是 Git 存储库,对于开发来说是方便且易于理解的;但对于运维来说,因涉及 Git 操作,可能就不那么方便了。

另外,如果能给分布式配置管理提供 Web 控制台来操作就非常直观和方便了,JDBC 存储库就可以较好的应用在 Web 应用中。

阅读更多

Spring Cloud(十):分布式配置管理 Config 之 Git 实现

  在微服务架构集群部署的环境中,可能会有十几甚至几十个服务,若要修改项目属性参数,手动的方式是很糟糕的,所以就有了分布式配置管理这个概念。

  将服务器的配置外部化,可以存在文件或数据库中,一个专门用于管理应用服务配置的应用,可以随时修改和自动更新到目标服务器上。目前已有开源项目,如,smconfdisconfQConf

  Spring Cloud Config 为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Config Server,可以在所有环境中管理应用程序的外部属性。Spring Cloud Config 官方文档spring-cloud-config Github

阅读更多

Spring Cloud(八):路由和过滤器之API网关 Zuul

  API 网关是对外服务的一个入口,隐藏了内部架构的实现,是微服务架构不可或缺的一部分。

  Zuul 是 Netflix 基于JVM的路由器和服务器端负载均衡器。Zuul 能够与 Eureka、Ribbon、Hystrix等组件配合使用。

  相关文档可参考Spring Cloud文档:Router and Filter-Zuul Netflix Zuul GitHubZuul Wiki 文档

阅读更多

Spring Cloud(六):服务容错之断路器 Hystrix

  微服务架构中,会有多个可调用的微服务,一个请求可能会连续调用多个服务,若其中某一个服务失败可能会导致级联失败(连锁反应),最终导致整个系统不可用,这种情况称之为服务雪崩效应。

  Netflix 为微服务架构开发了一个 Hystrix 中间件(库),用于实现断路器功能,类似于电路中的保险丝。Hystrix 通过 HystrixCommand 对服务调用进行隔离来阻止故障连锁反应,能够让接口调用快速失败并迅速恢复正常、或者回退并优雅降级到另一个受 hystrix 保护的调用。

  原生 Netflix HystrixNetflix Hystrix Wiki 文档Spring Cloud Hystrix 文档

阅读更多

Spring Cloud(五):声明式 REST 客户端 Feign

  Feign 是一个声明式 Web 客户端,让 Rest 服务调用更简单。要使用 Feign ,只需在编写接口并添加其注解,就可以定义好 http 请求的参数、格式、地址等信息。

  Feign 会完全代理 Http 请求,只需向调用方法一样调用 feign 注解的客户端就可以完成服务请求及相关处理。

  Spring Cloud 支持集成 Ribbon 和 Eureka,Feign 和他们一起使用时支持客户端负载均衡功能。Spring Cloud OpenFeign 文档

阅读更多

Spring Cloud(四):客户端负载均衡 Ribbon

Ribbon 是 Netflix 开源的内置了软件负载均衡器的进程间通信(远程调用)库。支持负载均衡、容错处理、异步和响应式模型中的多协议(HTTP、TCP、UDP)支持、缓存和批处理。

目前行业常见的负载均衡方案分两种:一种是集中式负载均衡,在消费者与服务提供方中间使用独立的代理方式进行负载,有根据 IP 的硬件负载(如 F5,Array), 有软件的负载(如 Nginx,LVS等);另一种是客户端自己做负载均衡,根据自己对目标的请求做负载,Ribbon 就是属于客户端侧的负载均衡。

后续要讲到的 Rest 客户端 Feign 也是基于 Ribbon 实现的。

Spring Cloiud - Client Side Load Balancer: Ribbon 文档Netflix Ribbon 官方文档Ribbon 负载均衡文档

阅读更多

Spring Cloud(三):服务发现之Eureka注册中心(2)-集群、配置、监控

  分布式微服务在生产环境必须搭建集群来保证高可用,集群至少需要搭建两台服务器。

  Eureka 的集群搭建配置非常简单,每一台 Eureka 只需在配置中指定另外多个 Eureka 的地址就可实现集群的搭建。官方文档:12. Service Discovery: Eureka Server

阅读更多