Spring boot 分布式

Dubbo API网关

2019-03-17  本文已影响775人  索伦x

什么是API网关?

在微服务架构中,通常会有多个服务提供者。设想一个电商系统,可能会有商品、订单、支付、用户等多个类型的服务,而每个类型的服务数量也会随着整个系统体量的增大也会随之增长和变更。作为UI端,在展示页面时可能需要从多个微服务中聚合数据,而且服务的划分位置结构可能会有所改变。网关就可以对外暴露聚合API,屏蔽内部微服务的微小变动,保持整个系统的稳定性。

api网关

API网关的作用

构建一个简单的WEB网关

首先准备一个SpringBoot Web工程

POM

        <!-- 调用Login微服务 -->
        <dependency>
            <groupId>com.suoron</groupId>
            <artifactId>testdubbo-client</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>

application.yml

dubbo:
  scan:
    basePackages: com.suoron.client.service,com.suoron.springboot.config
  ## ApplicationConfig Bean
  application:
    id: mobile-web-api
    name: mobile-web-api
  ## RegistryConfig Bean
  registry:
    id: zookeeper
    address: zookeeper://127.0.0.1:2181

# Dubbo Endpoint (default status is disable)
endpoints:
  dubbo:
    enabled: true

##健康检查http://127.0.0.1:9091/actuator/health
management:
  server:
    port: 9091
  # Dubbo Health
  health:
    dubbo:
      status:
        ## StatusChecker Name defaults (default : "memory", "load" )
        defaults: memory
  # Enables Dubbo All Endpoints
  endpoint:
    dubbo:
      enabled: true
    dubbo-shutdown:
      enabled: true
    dubbo-configs:
      enabled: true
    dubbo-services:
      enabled: true
    dubbo-references:
      enabled: true
    dubbo-properties:
      enabled: true
    health:
      show-details: always
  endpoints:
    web:
      exposure:
        include: "*"
启动类MyApplication
@ComponentScan("com.suoron.dubbo.client.service")
测试

首先启动微服务Server,然后启动WEB网关

上一篇下一篇

猜你喜欢

热点阅读