热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springcloud网关_springcloud网关服务

微服务网关服务网关服务是微服务体系里面重要的一环。微服务体系内,各个服务之间都会有通用的功能比如说:鉴权、安全、监控、日志、服务调度转发。这些都是可以单

微服务 网关服务

网关服务是微服务体系里面重要的一环。微服务体系内,各个服务之间都会有通用的功能比如说:鉴权、安全、监控、日志、服务调度转发。这些都是可以单独抽象出来做一个服务来处理。所以微服务网关应运而生。其主要作用作为微服务体系里面流量的唯一入口去做一些功能的实现。

微服务的网关担当的主要职责可以分为俩种

  • 主要业务功能抽取,鉴权、安全、服务调度、限流、熔断等
  • 非主要的业务功能抽取,监控、日志、缓存、黑白名单、埋点等

Spring Cloud 网关服务

现在市面主要流行的俩种

  • Netflix Zuul 1.0
    • 由Netflix开源的API网关项目,这个服务并不是Netflix 集成到spring 微服务体系内。而是spring将zuul集成在spring-cloud中使用而已。目前spring不打算集成zuul2.x的集成。
  • Spring Cloud Gataway
    • spring-cloud-Gateway是spring旗下spring-cloud的一个子项目。还有一种说法是因为zuul2连续跳票和zuul1的性能表现不是很理想,所以催生了spring孵化Gateway项目。

前面介绍了俩种网关服务由来,接下来进行一下性能的对比我不打算在做压力测试方向更多的介绍,博主没有做压力测试的条件。我讲推荐一篇博文进行了压测的详细的对比传送门

Spring Cloud Gateway

  • 是基于WebFlux 开发的。WebFlux 模块的名称是 spring-webflux,名称中的 Flux 来源于 Reactor 中的类 Flux。Spring webflux 有一个全新的非堵塞的函数式 Reactive Web 框架,可以用来构建异步的、非堵塞的、事件驱动的服务,在伸缩性方面表现非常好。使用非阻塞API。 Websockets得到支持,Spring集成

Netflix Zuul 1.0

  • 底层是基于servlet,Zuul处理的是http请求Zuul的抽象写的非常简单易懂,易于扩展,易于debug。提供了两种特殊的抽象类,用户使用起来,比较灵活。没有提供异步支持。流控等均由hystrix支持

备注

其实Netflix Zuul 1.0 调优过后的性能指标并不见得比Spring Cloud Gateway 差基本上也符合理论上的数据。只不过2.0之后。spring 没有打算集成它。如果现有系统已经使用的zuul 服务。不需要非得升级zuul 升级到Spring Cloud Gateway。如果公司项目。希望Websockets得到支持就可以考虑是否升级。

我打算将俩种网关都实现。下一篇文章是Zuul 网关的实现。里面会讲述一些关键点。写完zuul网关后。再去写股关于Spring Cloud Gateway的 实现。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。转载请附带公众号二维码如何喜欢可以关注分享本公众号。

f5b46bb22e0d6e8b6cfee7cb59f697e5.png



推荐阅读
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 本文推荐了六款高效的Java Web应用开发工具,并详细介绍了它们的实用功能。其中,分布式敏捷开发系统架构“zheng”项目,基于Spring、Spring MVC和MyBatis技术栈,提供了完整的分布式敏捷开发解决方案,支持快速构建高性能的企业级应用。此外,该工具还集成了多种中间件和服务,进一步提升了开发效率和系统的可维护性。 ... [详细]
  • 修复一个 Bug 竟耗时两天?真的有那么复杂吗?
    修复一个 Bug 竟然耗费了两天时间?这背后究竟隐藏着怎样的复杂性?本文将深入探讨这个看似简单的 Bug 为何会如此棘手,从代码层面剖析问题根源,并分享解决过程中遇到的技术挑战和心得。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 本文深入解析了Spring Cloud路由网关Zuul的核心功能及其典型应用场景。通过对方志朋老师教材的学习和实践,详细探讨了Zuul在微服务架构中的重要作用,包括请求路由、过滤器链管理以及服务动态扩展等关键特性。同时,结合实际案例,展示了Zuul在高并发和复杂业务场景下的应用优势,为读者提供了全面的技术参考。 ... [详细]
  • 近年来,BPM(业务流程管理)系统在国内市场逐渐普及,多家厂商在这一领域崭露头角。本文将对当前主要的BPM厂商进行概述,并分析其各自的优势。目前,市场上较为成熟的BPM产品主要分为两类:一类是综合型厂商,如IBM和SAP,这些企业在整体解决方案方面具有明显优势;另一类则是专注于BPM领域的专业厂商,它们在特定行业或应用场景中表现出色。通过对比分析,本文旨在为企业选择合适的BPM系统提供参考。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • PyQt5 QTextEdit:深入解析Python中多功能GUI库的应用与实现
    本文详细探讨了 PyQt5 中 QTextEdit 组件在 Python 多功能 GUI 库中的应用与实现。PyQt5 是 Qt 框架的 Python 绑定,提供了超过 620 个类和 6000 个函数及方法,广泛应用于跨平台应用程序开发。QTextEdit 作为其中的重要组件,支持丰富的文本编辑功能,如富文本格式、文本高亮和自定义样式等。PyQt5 的流行性不仅在于其强大的功能,还在于其易用性和灵活性,使其成为开发复杂用户界面的理想选择。 ... [详细]
  • 本研究聚焦于利用Java、PHP和Python开发的汽车销售管理系统,旨在为计算机科学专业学生的毕业设计提供参考。项目采用BS架构,结合多种编程语言的优势,实现高效的数据管理和用户交互。该系统不仅涵盖了汽车销售的核心功能,还通过集成先进的技术栈,提升了系统的稳定性和扩展性。 ... [详细]
  • 本文最初发表在Thorben Janssen的Java EE博客上,每周都会分享最新的Java新闻和动态。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 在Kubernetes上部署多个Mitmproxy代理服务器以实现高效流量管理 ... [详细]
  • 如果程序使用Go语言编写并涉及单向或双向TLS认证,可能会遭受CPU拒绝服务攻击(DoS)。本文深入分析了CVE-2018-16875漏洞,探讨其成因、影响及防范措施,为开发者提供全面的安全指导。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 基于Spring Boot与WebSocket的网吧客户管理系统毕业设计【详细代码解析、安装调试及文档指导】
    本毕业设计基于Spring Boot和WebSocket技术,开发了一套功能完善的网吧客户管理系统。系统不仅涵盖了客户信息管理、在线聊天等功能,还提供了详细的代码解析、安装调试指南及全面的文档支持。适用于计算机科学与技术专业学生,特别是对JavaWeb开发感兴趣的读者。 ... [详细]
author-avatar
四-没-之-女
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有