• 传统的微服务发件箱模式实现需要开发人员手动创建发件箱事件表并编写代码将数据从发件箱表发送到相应的消息平台。Debezium 发件箱事件路由器和发件箱 Quarkus 扩展一起解决了这个问题,并通过声明性实现强制执行标准方法来做到这一点。这使开发人员可以专注于业务逻辑实现并实现更快的应用程序交
  • 尽管微服务具有各种好处,但似乎也有许多新的复杂性和并发症。我最近经常遇到的一种情况(并没有找到很多很好的资源)是删除数据。考虑一个简单的例子:有三种服务:Product 服务,管理与所提供的产品,Order 追踪产品购买服 icon
  • 我知道微服务的话题已经被反复讨论过,我只是想根据我在这种设计 Web 应用程序的方法方面的经验,将我的经验加进去: 很多人认为微服务架构解决了具有扩展性和性能性质的软件问题。但他们解决的最重要的问题是组织问题。 康威定律一直在起作用。当您考虑构建的软件应该是什么样子时 icon
  • 我想写下为什么从一个全新的项目开始使用微服务通常是一个坏主意。时机已到,这正是我将在本文中讨论的内容。微服务变得越来越自然,我们几乎感觉自己一直生活在微服务的世界里。最近,当我与其他开发人员交谈并询问他们将如何启动绿地项目时,几乎可以肯定,答案是,嗯,一个微服务用于此,另一个 icon
  • 示例是:向经过身份验证的用户显示产品页面,下图显示了在这种情况下如何执行请求。 icon
  • 在选择代理来执行异步操作时,您应该考虑以下几点:Broker Scale — 系统内每秒发送的消息数。消费者效率——在管理一对一和/或一对多消费者方面是否有效。数据持久性——恢复消息的能力。 RabbitMQ : icon
  • 在过去的五个月中,我与 50 多家公司讨论了他们的授权系统。他们中的一半以上正在以某种形式使用微服务,我对它们带来的授权挑战着迷。似乎没有人就面向服务的后端授权的最佳实践达成一致:我与将用户角色附加到身份验证令牌的团队、将所有内容存储在特定于授权的图形数据库中的团队以及在 Kubernete icon
  • 微服务似乎是完美的解决方案。从理论上讲,它们可以提高开发速度,同时允许您独立扩展应用程序的不同部分。但实际上,微服务带有隐藏的成本。也就是说,我认为如果不亲自构建它们,您就无法真正理解它们的复杂性。这是我使用微服务构建(有时失败)的经验。 管理 icon
  • MicroStream是行业中真正的游戏规则改变者。如果你想创建真正高性能的微服务,在真正高压的环境中工作,那么Helidon + MicroStream是一个非常好的选择!它不仅易于设置和使用,而且现在已完全集成。MicroStream 取代了重量级的 JPA,并允许您存储和部分加 icon
  • 类级别的测试有以下主要问题:类测试使更改变得痛苦类测试不验证实际行为类测试很难理解  类测试使更改变得痛苦当对我们的代码进行更改时,这会成为一个问题,因为每个小的修改都会 icon
  • 我们将设计一个基于经典遗留应用程序的进化事件驱动系统,类似于在世界各地的许多组织中可以找到的系统。这个练习将向我们展示事件驱动架构的潜力。 消息驱动与事件驱动区别让我们考虑两个需要通过信号相互传递信息的松散耦合组件。在这两种范式中,组 icon
  • Factorio异星工场 是一个开放世界的 RTS,您可以在其中构建和优化供应链以发射卫星并恢复与您的家乡星球的通信,而 Kafka 是一个分布式流媒体平台,它处理异步通信一种持久的方式。我想知道 在 Factorio 和 Kafka 之间的类比开始崩溃之前,我们能走多远。让我们从头 icon
  • “成功的软件总是会改变。” -弗雷德里克·P·布鲁克斯对于一般软件而言,同样适用于 API:成功的 API 会发生变化。原因很简单:成功的 API 被各​​种 API 消费者使用,他们需要新功能、扩展、错误修复和优化。从这个角度来看,API 的变化是不可避免的。但这只是故事的 icon
  • 微前端基本上是微服务模式的扩展,其中功能扩展到前端。因此,微前端带来了广泛的优势,包括部署独立性、更容易测试功能等。微前端背后的想法是将 Web 应用程序视为由独立团队拥有的功能组合。每个团队都有自己关心和专攻的不同业务领域。团队是跨职能的,从数据库到用户界面,端到端地开发其功能。< icon
  • 该案例研究是关于在完成向微服务的整体迁移以及开发工具中出现的下一个约束之后提高 Lyft 的生产力。2018 年底,Lyft 工程完成了将我们最初的 PHP 单体分解为 Python 和 Go 微服务的集合。几年后,微服务在允许团队独立运营和交付服务方面取得了很大的成功。本文 icon