microservices相关内容

微服务数据复制模式

在微服务架构中,我们通常有两种微服务通信方式.假设服务 A 需要从服务 B 获取信息.第一个选项是远程调用,通常通过 HTTPS 同步,因此服务 A 查询服务 B 托管的 API. 第二种选择是采用事件驱动的架构,其中服务 B 的状态可以以异步方式由服务 A 发布和消费.使用此模型,服务 A 可以使用来自服务 B 的事件的信息更新自己的数据库,并且所有查询都在此数据库中本地进行.这种方法的优 ..

vert.x 事件总线可以取代对 Kafka 的需求吗?

我正在评估 vert.x 框架,看看我是否可以减少使用 Spring Boot 开发的微服务之间基于 Kafka 的通信. 问题是:我可以更换吗1. 带有 vert.x 事件总线的 Kafka 和2. 带有基于 vert.x 的 verticles 的 spring boot 微服务 任何指针都会有很大帮助. 提前致谢. 解决方案 为了快速回答,我会说这取决于您的需求. ..
发布时间:2021-11-12 02:10:55 其他开发

kafka涉及微服务架构时如何实现合约测试?

我目前正在做一个项目,我们在微服务架构中实现了 kafka.您是否成功地使用 pact-jvm 为 mS 到 kafka 主题交互创建了合同测试用例? 我的实现是 microservice1 将消息发布到 REST 客户端,然后再将消息发布到 Kafka 主题.microservice2 使用 GET 方法从 Kafka Topic 中检索消息. 解决方案 Pact-JVM 支持 M ..
发布时间:2021-11-12 02:08:47 Java开发

使用 Kafka 主题后发送 HTTP 响应

我目前正在编写一个包含大量微服务的 Web 应用程序.我目前正在探索如何在所有这些服务之间正确通信,我决定坚持使用消息总线,或者更具体地说是 Apache Kafka. 但是,我有几个问题,我不确定如何从概念上解决.我使用 API 网关服务作为应用程序的主要入口.它充当将操作转发到适用微服务的主要代理.考虑以下场景: 用户向 API 网关发送包含一些信息的 POST 请求. 网关生成 ..
发布时间:2021-11-12 01:58:00 前端开发

如何使用 Spring Cloud Stream Kafka 和每个服务的数据库实现微服务事件驱动架构

我正在尝试实现一个事件驱动架构来处理分布式事务.每个服务都有自己的数据库,并使用 Kafka 发送消息通知其他微服务有关操作. 示例: 订购服务 ------->|卡夫卡|------->支付服务||订单 MariaDB DB 付款 MariaDB 数据库 订单收到订单请求.它必须将新订单存储在其数据库中并发布一条消息,以便支付服务意识到它必须为该项目收费: 私人订单业务订单业务 ..

Kafka 消息 VS REST 调用

如今在微服务世界中,我在我的工作场所看到很多使用 kafka 消息传递的设计,当您可以使用微服务之间的 rest api 调用实现类似的结果时.从技术上讲,您可以完全停止使用 rest api 调用,而是使用 kafka 消息传递.我真的很想知道最佳实践,优缺点,微服务之间何时使用 api 调用,何时使用 kafka 消息传递. 让我们举一个真实的例子: 我有库存服务和供应商服务.日常 ..

使用 Kafka 作为 EventStore 时在 Flink 中恢复状态一致性

问题 我正在将微服务作为事件溯源聚合实现,而该聚合又作为 Flink FlatMapFunction 实现.在基本设置中,聚合从两个 kafka 主题中读取事件和命令.然后,它将新事件写入第一个主题,并在第三个主题中处理结果.因此,Kafka 充当事件存储.希望这张图有帮助: RPC 请求 RPC 结果||~~~~>命令-||--->结果~~~~~~||--> 聚合--|~>输入 evs ..

Actor 设计模式和现实世界的例子

我目前正在学习 Actor 设计模式或模型,看起来很有趣.但是,我正在努力寻找有关如何或在何处应用此模型的任何体面的现实示例(除了具有余额的简单银行帐户或游戏的敌人坐标等的基本示例). 作为我研究的一部分,我遇到了一个示例电子商务微服务应用程序 (eShopOnDapr),其中 Order 是一个 Actor.这是可以使用 Actor 模型的真实示例吗? 这种设计模式是否可以或应该与微 ..
发布时间:2021-10-26 16:35:35 其他开发

轨道交通.使用不同命名空间中定义的相同对象

首先,请原谅我的英语很糟糕.我将 MassTransit 与 Azure 服务总线一起用于微服务之间的异步通信.根据它们自己的定义,为了避免它们之间产生依赖关系,不同微服务之间发送的消息被定义在每个微服务中,即它们是不同命名空间的一部分.MassTransit 的自动管理导致队列和主题按对象类型进行管理,从而阻止使用消息的微服务接收微服务发布者发送的消息.同样的事情发生在同一个命名空间中具有相同属 ..
发布时间:2021-10-26 16:02:29 其他开发

微服务与 Web 服务

微服务与 Web 服务之间的确切区别是什么. 我的需求是需要将 Web 服务(SOAP、REST)服务链接到微服务. 我可以将微服务也视为 Web 服务吗? 解决方案 微服务是一种“设计"模式,指导您如何实现功能.另一方面,“Web 服务"关注客户如何使用服务. 从这个意义上说,这两个概念是完全正交的.您可以为您的客户提供 REST/SOAP 接口 - 在内部,此 RES ..
发布时间:2021-09-24 19:33:38 Java开发

在独立库中使用 Feign 与 Springboot 应用程序

我想为 Some-Micro-Service 创建一个客户端作为库(Some-Micro-Service-Client),这样它就可以很容易地包含在 Some-Other-Micro-Service 的 pom 中. 我想使用 Feign,因为它使事情变得更容易,但我不确定这是否适用于我的架构.我看到的所有 Feign 示例都是从在 SpringBootAppplication 类上使用 @ ..
发布时间:2021-08-20 19:24:11 Java开发

版本 spring boot、spring cloud、ribbon 不工作

目前我正在学习如何使用 spring boot 和 spring cloud 工作微服务,现在我在选择 spring cloud 和启动版本时遇到了很多问题,我还没有使用 @RibbonClient 注释,因为我还没有找到依赖项. 我想使用最新版本的spring cloud和spring boot,但是我没有找到ribbon依赖.我想使用 spring boot 2.4.1 和 spring ..

可以在服务之间传递 OAuth 访问令牌吗?

在 SSO/OAuth/微服务的上下文中考虑以下场景: 用户使用 OAuth 的隐式流程成功登录到 Web 应用程序. Web 应用向服务 A 和服务 B 请求一些数据,并传递用户的访问令牌以对这两个请求进行授权. 服务 A 还调用 服务 B(传递相同的访问令牌!)以构建对初始 Web 应用请求的响应. 现在,是否可以将用户的访问令牌从服务 A 传递到服务 B? 或者服务A是 ..

如何在微服务架构中实现基于角色的安全

我有一个带有 4 个微服务、eureka 服务器和一个集中式 API 网关的 spring-boot 应用程序. 所有外部流量都通过我的 API 网关到达我的微服务. 我的 API 网关 (Zuul) 正在验证和验证 JWT 令牌. JWT 令牌由我的一个微服务(用户微服务)在用户登录后生成,令牌包含用户 ID 及其角色/权限. 现在,我想对网关以外的微服务中存在的方法实施 ..

使用 PutRequest 仅更改 1 个参数?

我有一个问题.是否可以只更改 PutRequest 中的一个参数?我在互联网上没有找到任何关于此的信息. @GetMapping("/templates/{user_name}/{template_id}")public Template retrieveTemplate(@PathVariable("user_name") String user_name,@PathVariable("te ..
发布时间:2021-06-02 21:42:40 Java开发

如何在包装类中合并两个spring boot微服务响应

我刚接触 Spring Boot 微服务并探索 webflux 框架.我正在尝试将来自两个微服务的响应合并到一个包装类,以便以正确的 JSON 格式提供响应.下面是详细的场景. 微服务1:http://localhost:8080/products在这个微服务的控制器中,它返回了 Flux,我得到了 [{"id": "5b2fd1e5f57d731904c54ad7","name": "P ..
发布时间:2021-06-02 21:42:35 Java开发

当要返回的列表取决于用户的权限时,REST URI 和缓存 GET 请求

这是一个多租户无服务器系统. 系统具有具有权限的组. 用户根据他们所在的组获得权限. 如果它有所作为,我们将使用 Cognito 进行身份验证,它是一个无状态应用程序. 例如: 站点的 GET 端点(即登录用户可以根据他们所在的组访问的站点) 设备的 GET 端点(即登录用户可以根据他们所在的组访问的站点) 在 REST API 中.“这个想法是端点返回的数据应该完全取决 ..
发布时间:2021-06-02 21:42:31 其他开发

Spring Cloud 微服务 - Eureka 服务器安全

由于 Eureka 使用 http/https 协议与其注册者(客户端)进行交互,您可以通过假装是其客户端之一向它发布虚假/错误数据,告诉它服务已关闭,从而轻松欺骗 Eureka 服务器,最终导致从注册表中删除这些服务.在具有许多用户的大型系统中,这是一个很可能的场景.防止此类攻击的替代安全/身份验证方案有哪些? 解决方案 如果您的服务发现可以从外部访问,则需要为其添加一些安全性,而 HT ..
发布时间:2021-06-02 21:42:27 其他开发