微服务所用到的各类工具和包

Zabbix

Zabbix 是单独安装的一个工具。

Spring Cloud

ref: Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】

Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud0 CloudFoundry、Spring Cloud AWS、Spring Cloud Security、Spring Cloud Commons、Spring Cloud Zookeeper、Spring Cloud CLI等项目。

Spring Cloud 主要模块包括:服务发现(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)等。

  • Eureka是用于微服务发现。

Spring Cloud Eureka是Spring Cloud Netflix项目下的服务治理模块。而Spring Cloud Netflix项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供了自配置的Netflix OSS整合。通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。

对于Eureka说,层次为:

Spring Cloud
Spring Cloud Netflix
Spring Cloud Eureka

  • Consul 也是用于微服务发现,与Eureka并列。与Eureka的区别在于,Consul不需要像 Eureka 一样要再写个 Eureka Server 微服务提供微服务注册功能。
    (例子 ref: Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】)
  • Zuul 是用来实现Api Gateway的。

  • Hystrix 是 Spring Cloud Netflix 下的,是分布式系统处理超时和错误的机制。
    (ref: springcloud(四):熔断器Hystrix)
    Feign Hystrix:

因为熔断只是作用在服务调用这一端,因此只需要改动spring-cloud-consumer项目相关代码就可以。因为,Feign中已经依赖了Hystrix所以在maven配置上不用做任何改动。 

  application.properties添加这一条:

feign.hystrix.enabled=true

(ref: Spring Cloud实战(五)-Spring Cloud Netflix Hystrix)

推荐: 微服务知识图谱

你可能感兴趣的:(微服务,netflix,spring,分布式,架构)