站务联系

想要设计自己的微服务?看这篇文章就对了(3)

发布时间:2021-03-13   来源:网络整理    
字号:

Netflix开源了 这么的优质服务,现在有了Spring Cloud,我们可以通过一个@EnableZuulProxy注释启用它 。在这个项目中,我使用Zuul储存静态内容(UI应用程序)并将恳求路由至适当的微服务。以下是Notification服务的简略基于前缀的路由配置:

zuul:

  routes:

    notification-service:

        path: /notifications/**

        serviceId: notification-service

        stripPrefix: false

这意味着所有以恳求开头的恳求 /notifications 都将路由至Notification服务。可以看见,没有硬编码的地址。Zuul使用 服务发觉 模式来定位Notification服务例子以及 Circuit Breaker跟Load Balancer。

Service Discovery

另一种众所周知的构架方式是Service Discovery。它容许手动检查服务例子的网路位置,这些服务例子或许因为手动扩充微端服务器,故障跟升级而动态分配地址。

服务发觉的关键部份是注册表。我在这个项目中使用了Netflix Eureka。当客户端负责确定可用服务例子的位置(使用注册服务器)并在他们之间读取平衡恳求时,Eureka是客户端发觉方式的一个挺好的反例。

使用Spring Boot,你可以轻松地使用spring-cloud-starter-eureka-server 依赖项, @EnableEurekaServer 注释跟简略配置属性建构Eureka Registry 。

通过@EnableDiscoveryClient 注释跟 bootstrap.yml 应用程序名称启用客户端支持 :

spring:
  application:
    name: notification-service

现在,在应用程序启动时,它将向Eureka Server注册并提供元数据,例如主机跟端口,运行情况指示器URL,主页等.Eureka从属于服务的每位例子接收消息。如果故障超出可配置的时间表,则例子将从注册表中删掉。

此外,Eureka提供了一个简略的界面,你可以在其中跟踪正在运行的服务跟可用例子的数目: :8761

想要设计自己的微服务?看这篇文章就对了

图说天下

  • 3页:
  • 上一页
  • 1
  • 2
  • 3
  • 下一页
  • ×
    二维码生成