资讯专栏INFORMATION COLUMN

SpringCloud学习(4)

Michael_Lin / 3319人阅读

摘要:本篇介绍并集成是一个服务器,也可以说是进入系统的唯一节点。它还可能有其他功能,如授权监控负载均衡缓存请求分片和管理静态响应处理等。负责请求转发合成和协议转换。它可以在协议与内部使用的非友好型协议间进行转换,如协议协议。

        本篇介绍并集成ZUUL

API getaway:
API Gateway是一个服务器,也可以说是进入系统的唯一节点。这跟面向对象设计模式中的Facade模式很像。API Gateway封装内部系统的架构,并且提供API给各个客户端。它还可能有其他功能,如授权、监控、负载均衡、缓存、请求分片和管理、静态响应处理等。下图展示了一个适应当前架构的API Gateway。


API Gateway负责请求转发、合成和协议转换。所有来自客户端的请求都要先经过API Gateway,然后路由这些请求到对应的微服务。API Gateway将经常通过调用多个微服务来处理一个请求以及聚合多个服务的结果。它可以在web协议与内部使用的非Web友好型协议间进行转换,如HTTP协议、WebSocket协议。

    Spring Cloud Zuul路由是微服务架构的不可或缺的一部分,提供动态路由,监控,弹性,安全等的边缘服务。Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。

新建Springboot项目,pom添加依赖

   
            org.springframework.cloud
            spring-cloud-starter-eureka
        
        
            org.springframework.cloud
            spring-cloud-starter-zuul
        

application:

/**
    使用@EnableZuulProxy注解激活zuul。
 * 跟进该注解可以看到该注解整合了@EnableCircuitBreaker、@EnableDiscoveryClient,是个组合注解,目的是简化配置。
 
 */
@SpringBootApplication
@EnableZuulProxy
public class ZuulApplication {
    public static void main(String[] args) {
        SpringApplication.run(ZuulApplication.class,args);
    }
}

yml:

spring:
  application:
    name: microservice-api-gateway
server:
  port: 8000
eureka:
  instance:
    hostname: gateway
  client:
    serviceUrl:
      defaultZone: http://discovery:8761/eureka/
# 下面整个树都非必须,如果不配置,将默认使用 http://GATEWAY:GATEWAY_PORT/想要访问的Eureka服务id的小写/** 路由到:http://想要访问的Eureka服务id的小写:该服务端口/**
zuul:
  routes:
    user:                                               # 可以随便写,在zuul上面唯一即可;当这里的值 = service-id时,service-id可以不写。
      path: /user/**                                    # 想要映射到的路径
      service-id: userprovider         # Eureka中的serviceId

启动后这样就可以 用`http://GATEWAY:GATEWAY_PORT/想要访问的Eureka服务id的小写/**
访问微服务了

若想忽略某个微服务则可以配置
`zuul:
ignored-services: microservice-provider-user # 需要忽视的服务(配置后将不会被路由)`

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67698.html

相关文章

  • java-study-springcloud-网络资料-01-微服务是什么

    摘要:本系列网络资料资料来源于网络,相关学习微服务与微服务架构定义理解单一应用程序划分为一组小的服务,每个服务有自己的进程。 本系列(java-study-springcloud-网络资料)资料来源于网络,springcloud相关学习 1、微服务与微服务架构 定义:https://martinfowler.com/arti... showImg(https://segmentfault.c...

    JerryZou 评论0 收藏0
  • Springcloud-nacos实现配置和注册中心

    摘要:实现配置和注册中心最近,阿里开源的比较火,可以和和共用,对升级到非常的方便。只需要添加依赖,使用配置注册中心地址即可。配置不生效,没有使用注解刷新配置分清注册中心和配置中心是两个概念,需要配置两个地址学会看源码,看维基。 Springcloud-nacos实现配置和注册中心 最近,阿里开源的nacos比较火,可以和springcloud和dubbo共用,对dubbo升级到springc...

    whinc 评论0 收藏0
  • 整理一下学习微服务springboot+springcloud+vue以来用到的好的博客

    摘要:调用百度实现图像识别使用渲染导出的制作的超级炫酷的三维模型一个代码库本人本人浏览器调试及所有错误代码整合千峰超级好用的各种开发自学文档这是它对应的学习视频使用教程详细虚拟机安装系统详解版网易开源镜像站在线数据互转使 1.Java调用百度API实现图像识别 2.使用Three.js渲染Sketchup导出的dae 3.three.js制作的超级炫酷的三维模型 4.three.js - 一...

    gitmilk 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<