阿里云Kubernetes SpringCloud 实践进行时(3): API网关服务Zuul

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 讲述了在阿里云Kubernetes容器服务基础之上,如何快速搭建基于Spring Cloud的微服务架构中的基础设施之API网关服务Zuul 系统。

简介

为了更好地支撑日益增长的庞大业务量,我们常常需要把服务进行整合、拆分,使我们的服务不仅能通过集群部署抵挡流量的冲击,又能根据业务在其上进行灵活的扩展。随着分布式的普及、服务的快速增长与云计算技术的进步,微服务架构也因其特有的优势而备受关注。微服务架构的本质,是把整体的业务拆分成很多有特定明确功能的服务,通过很多分散的小服务之间的配合,去解决更大,更复杂的问题。对被拆分后的服务进行分类和管理,彼此之间使用统一的接口来进行交互。

本系列讲述了在阿里云Kubernetes容器服务基础之上,如何快速搭建基于Spring Cloud的微服务架构中的基础设施:

本文是系列中的第三篇,着重介绍API网关服务Zuul 系统。

为了解决上面提到的问题,引入了API网关的概念。API网关是一个更为智能的应用服务器,它有点类似于我们微服务架构系统的门面,所有的外部访问都要先经过API网关,然后API网关来实现请求路由、负载均衡、权限验证等功能。Spring Cloud中提供的Spring Cloud Zuul实现了API网关的功能。

下面讲述一下在阿里云Kubernetes容器服务基础之上,如何快速搭建一套API网关服务Zuul 系统。

准备Kubernetes环境

阿里云容器服务Kubernetes 1.9.3目前已经上线,可以通过容器服务管理控制台非常方便地快速创建 Kubernetes 集群。具体过程可以参考 创建Kubernetes集群

体验通过应用目录简便部署

点击左侧的应用目录,在右侧选中ack-springcloud-zuul,如下:

图片.png

点击参数, 可以通过修改参数配置进行定制化,主要的配置部分是路由规则,如下:

zuul:
  routes:
    SAMPLESERVICE: /myusers/**
    test:
      path: /external/**
      url: https://www.aliyun.com/

默认情况下,Zuul会代理所有注册到Eureka Server的微服务,并且Zuul的路由规则如下:
http://ZUUL_HOST:ZUUL_PORT/微服务在Eureka上的serviceId/** 会被转发到serviceId对应的微服务。

此处配置了以下路由规则:

  • 所有符合 /myusers/** 的请求都将被转发到 SAMPLESERVICE 服务上,而SAMPLESERVICE 服务的地址到底是什么则由Eureka Server去分析,此处只需要写上服务名即可;
  • 所有符合 /external/** 的请求都将被转发到 https://www.aliyun.com/

修改之后,在右侧选择对应的集群、命名空间,指定发布名称,然后点击部署。

几分钟之后,一个高可用的Zuul Server实例就可以创建出来。

体验Zuul Server

点击左侧的服务,在右侧点击刚创建的Zuul Server服务提供的访问地址,如下所示:

图片.png

默认情况下,Zuul会代理所有注册到Eureka Server的微服务,并且Zuul的路由规则如下:
http://ZUUL_HOST:ZUUL_PORT/微服务在Eureka上的serviceId/** 会被转发到serviceId对应的微服务。

请求访问 /myusers/,首先会去Eureka Server中查询注册的SAMPLESERVICE服务,然后访问会指向其中的一个服务地址。

请求访问 /external/,所有的访问都会指向 https://www.aliyun.com/,如下:

图片.png

总结

我们可以利用阿里云Kubernetes容器服务,快速搭建一套API网关服务Zuul 系统,为应用引
入和配置网关服务。欢迎大家使用阿里云上的容器服务,快速搭建一套API网关服务Zuul 系统,比较简单地集成到自己项目的微服务开发中。

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
4天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2024 年 05 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
11天前
|
存储 SQL BI
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
|
13天前
|
算法 物联网 数据库
阿里云 OpenSearch RAG 应用实践
本文介绍了阿里云OpenSearch在过去一年中在RAG方面的应用和探索。
398 2
阿里云 OpenSearch RAG 应用实践
|
19天前
|
弹性计算 监控 开发工具
【阿里云弹性计算】阿里云ECS的网络优化实践:VPC配置与网络性能提升
【5月更文挑战第29天】阿里云ECS通过虚拟私有云(VPC)提供高性能、安全的网络环境。VPC允许用户自定义IP地址、路由规则和安全组。配置包括:创建VPC和交换机,设定安全组,然后创建ECS实例并绑定。优化网络性能涉及规划网络拓扑、优化路由、启用网络加速功能(如ENI和EIP)及监控网络性能。示例代码展示了使用Python SDK创建VPC和交换机的过程。
268 3
|
4天前
|
API
阿里云微服务引擎及 API 网关 2024 年 5 月产品动态
阿里云微服务引擎及 API 网关 2024 年 5 月产品动态。
阿里云微服务引擎及 API 网关 2024 年 5 月产品动态
|
10天前
|
运维 监控 搜索推荐
客户案例 | 阿里云向量检索 Milvus 版在识货电商检索场景的应用与实践
本文分享了阿里云向量检索 Milvus 版在识货电商检索场景的应用与实践。阿里云的 Milvus 服务以其性能稳定和功能多样化的向量检索能力,为识货团队在电商领域的向量检索场景中搭建业务系统提供了强有力的支持。
|
18天前
|
机器学习/深度学习 人工智能 测试技术
阿里云连续三年入围Gartner云AI开发者服务挑战者象限
Gartner正式发布了《云AI开发者服务魔力象限》报告(Magic Quadrant for Cloud AI Developer Services),阿里云成功入选,是唯一一家入围“挑战者”(Challengers)象限的中国厂商,并且保持连续三年入围。
|
20天前
|
存储 人工智能 运维
首批 I 阿里云通过算力服务成熟度增强级评估
近日,阿里云作为算力服务标准主要参编单位之一,参与了首批标准符合性验证,以阿里云飞天企业版为主要参评产品,完成了通用计算、智能计算和高性能计算三类计算服务能力的符合性评估。
|
4天前
|
Kubernetes Cloud Native 微服务
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
173 3

热门文章

最新文章

相关产品

  • 容器服务Kubernetes版