java - Spring Cloud 与 WSO2 API 管理器

标签 java spring-boot wso2 spring-cloud microservices

以构建多个具有容错性和弹性的微服务为目标:

目前正在使用 Spring Boot 构建微服务

  1. WSO2 API Manager 和 Spring Cloud 之间的主要区别是什么?

  2. 使用 Spring Cloud 的不同组件可以构建类似于 WSO2 API 管理器或通用 API 管理器的类似解决方案吗?如果是这样,可以使用哪些 Spring Cloud 组件?

  3. 可以将 Spring Cloud 的组件与 WSO2 API 管理器混合搭配吗? WSO2 API 管理器与 Spring Cloud 的兼容性如何?

例如:使用Spring Cloud的负载均衡器(Ribbon)和服务发现(Eureka),再使用安全和WS02的解析组件。

最佳答案

Spring Cloud 提供了一个技术网关,允许您拥有冗余(微)服务实例、负载均衡、使用 ServerConfig 的集中配置等。它非常擅长。

API Manager 为您提供了另一个网关,如果需要可以与 springCloud One 结合使用。

APIM 网关为您提供安全管理:将使用您的服务(作为 API)的用户或应用程序必须订阅它。作为返回,它允许您向用户提供 Oauth2 安全性。还有更多:您将根据每个用户(最终用户或应用程序)获得使用数据和指标。 仅当您必须管理服务的使用时才需要 API 管理器层。

因此,可能并非您的所有微服务都将作为安全和托管 API 公开。只有您感兴趣的人才有这样的管理工具。 例如:跟踪API用户,撤销某个特定用户的使用权限,对部分或所有用户添加节流规则(例如重要VIP用户允许2000TPS,fremium用户仅允许200TPS)等。

这两个网关解决方案可以很好地协同工作(在需要时)。

希望对你有所帮助。 西里尔

关于java - Spring Cloud 与 WSO2 API 管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34344850/

相关文章:

java - 无法在android中创建文件夹

java - 当批量插入中 PK 上的两条记录重复 "ON DUPLICATE KEY UPDATE"时会发生什么

java - 如何在获取映射请求中使用RequestHeader值而不是在Spring Boot中使用PathVariable来使用findById获取数据?

java - SpringBootTest - 如何在测试级别断言上下文不加载和更改属性?

java - 无法确定缺少类型的已实现接口(interface)

csrf - WSO2 IS 5.2.0 通过 CSRFGuard 和/或 CSRF 过滤器/阀进行 CSRF 保护?

java - NTLM 身份验证方案选择错误

java - 简单的 Spring Boot 应用程序的 ResourceLoader null

java - 如何使用 SOAP UI 或 Java 将 Assets 添加到 WSO2 治理注册表

xpath - 如何使用 xpath xpression 检查 wso2 ESB 中是否存在数据?