微服务架构

     

Dapr统一了微服务之间同步或异步的API

146 2K

在微服务通信领域,同步和异步交互是作为微服务之间调用架构的关键要素。Dapr不仅简化了应用程序交互,满足同步和异步模式,而且还支持高级编排(Choreograph)和排舞(Orchestration).

微服务+领域驱动设计+Clean/Onion/Hexagonal案例源码

248 1 4K

这个案例演示了如何应用领域驱动设计和六边形/干净架构来构建微服务。以下部分描述了如何使用域驱动和六边形/干净架构构建图书馆管理系统:以下是将为图书馆管理系统实现的主要用户故事列表: 作为一名图书馆管理.

Dapr v1.12 正式发布:发件箱模式是亮点

355 3K

Dapr 是一种可移植、事件驱动的运行时,使任何开发人员都可以轻松构建在云和边缘运行的弹性、无状态和有状态应用程序,并支持多种语言和开发框架。Dapr 1.12.0 发布!以下是 v1.12 版本的亮.

一句话总结开发微服务的9个最佳实践

139

当我们开发微服务时,我们需要遵循以下最佳实践:为每个微服务使用单独的数据存储保持代码处于相似的成熟度水平为每个微服务单独构建为每个微服务分配单一职责部署到容器中设计无状态服务采用领域驱动设计设计微前端.

使用 YARP 实现微服务 API 网关

556 7K

基于微服务的大型系统可以由数十甚至数百个单独的服务组成。客户端应用程序需要拥有所有这些信息才能直接向相关微服务发出请求。然而,这存在许多问题,例如安全问题、复杂性增加和耦合。我们可以通过引入一个API.

如何减少微服务架构开发和调试过程中的痛苦/浪费时间?

573 2K

我们的项目开发了一个单体应用程序。但现在,我们的架构师决定将应用程序分成多个小型服务,称为微服务架构。为了部署服务,我们使用了 kubernetes。也就是从这时开始,我成了其中一个服务的开发人员,开.

微服务Saga分布式事务是一种反模式

342 2K

Saga通常被定位为处理分布式事务的更好方法。我认为讨论佐贺的优点和缺点没有意义,因为Saga根本不应该在基于微服务的系统中使用:如果你需要跨几个微服务的分布式事务,很可能你错误地定义和分离了领域。作.

Spring Kafka教程指南大全

448 19K

我们将指导您完成将 Spring Kafka 集成到微服务架构中的过程。Spring Kafka 是将 Apache Kafka 的强大功能与 Spring 生态系统的优雅和便利连接起来的桥梁。在您的.

go-ecommerce-microservices:Golang电子商务微服务案例

443 1 7K

这是一个实用的电子商务微服务,它使用CQRS、事件源、垂直切片架构和事件驱动架构构建。点击标题一个实际的电子商务示例,使用Golang和不同的软件架构和技术构建,如微服务架构,垂直切片架构,CQRS模.

微服务:逻辑边界不是物理边界

407 2K

微服务的好处之一就是定义边界。俗话说,好篱笆造就好邻居(中国谚语:亲兄弟明算账)。定义边界是一件好事,但我们到底如何定义它们呢?微服务,由 Adrian Cockcroft 定义:具有有边界的上下文的.

幽默:没有逻辑约束的微服务

513 2 2K
图中鸡蛋克和鸡蛋黄以及炉火三个微服务,如果为了吃一个煎鸡蛋,需要聚合这三个微服务调用。这是过于细分导致的问题,忽视了业务逻辑,如果煎鸡蛋是业务逻辑,那么为了完成这个目标,需要聚合这三个微服务。但是如果.

Quarkus Native与Go微服务对比?

572 1

我们的团队目前正在开发一个非常庞大且复杂的 Spring Boot 项目,Spring Boot 固执己见的本质使我们能够非常快速地编写业务逻辑,而无需担心样板代码。现在,我们的任务是编写小型微服务,.

什么是软件开发中的“两份比萨队”? - martinfowler

339 1

双披萨团队是为特定业务能力提供全面软件支持的小型团队。这个词因用来描述亚马逊如何组织其软件员工而流行起来。这个名称暗示了此类团队最明显的特点,即团队的规模。这个名字来源于这样一个原则,即团队的规模不应.

用Javascript演示微服务与微前端的区别

373 8K

在不断发展的软件开发领域,微服务和微前端这两种突破性的架构风格已经成为变革性的范例。这些方法重新定义了现代应用程序的构建和部署方式。微服务和微前端秉承模块化、可扩展性和灵活性的原则,已成为全球开发团队.

洋葱片架构 - odrotbohm

789 5K
15年的洋葱架构是时候整容了。自 Jeffrey Palermo 发布他的洋葱架构系列第一篇博客以来,已经过去了几乎整整 15 年。在那篇文章中,他总结了本质上构成Alistair Cockburn六.

API调查显示:微服务沦为僵尸API

407

从微服务到僵尸 API 是今年Postman API 状况调查中出现的重要现象。这一现象可能反映出科技行业经济收缩最糟糕的时期。API 的可使用性是一大通点: API 是否一致并且易于设置? 刚开始使.

微服务架构下Knative与Dapr的比较

486 2K

Dapr和Knative项目都有助于在 Kubernetes 上创建和运行云原生应用程序,但在重要方面有所不同。注意两者侧重点有不同: Knative 使用无服务器容器(从 0 扩展至 0)扩展 Ku.

使用 Spring Retry 实现数据库连接重试案例

483 2K
一个金融应用程序:当客户发送请求时,使用客户端的用户ID从第三方服务获取他们的账户信息,保存交易并更新缓存中的详细信息。尽管整个流程看似简单,但每个下游系统都不可靠。我们必须在每个层上实现重试,而且我.

幽默:你的自行车骑到哪里了?

639 2
更详细架构演进:https://www.jdon.com/Backend-Architecture.html.

从零到部署用Rust构建Web的教程

1177 7K

在本次实践研讨会中,我们将指导您完成使用 Rust 作为 API、Actix-Web 作为 Web 框架、SQLx 用于数据库连接、Dioxus 用于前端以及 Shuttle 用于部署来构建全栈应用程.

2023 年 Java 生态系统趋势报告

922 4K

分析了 2023 年举行的四场大型 Java 会议上接受的演讲:JFokus、DevNexus、Devoxx UK和JCON Europe。统计方法2023年6月28日从会议网站收集了数据。将标题和摘.

什么是服务发现模式?微服务中客户端和服务器端发现有什么区别?

770 1 2K

在分布式系统架构中,服务发现在实现服务间的有效通信方面起着关键作用。服务发现模式提供了在网络中动态定位和访问服务的机制。服务发现中两个常用的方法是客户端发现和服务器端发现。在这篇文章中,我们将探讨什么.

10 个Spring Cloud微服务实现的分布式系统模式

702 1 3K
这是每个 Java 微服务开发人员都应该了解的 10 个最重要的 Spring Cloud 功能:Spring Cloud 是 Java 开发人员构建微服务的主要框架之一,在本文中我将向您介绍 10 .

Rust中如何使用Spin框架构建微服务?

1048 11K

Rust 提供了一种强大而高效的应用程序开发方法。借助 Spin,为分布式应用程序构建强大的微服务变得更加容易。Rust 的性能优势以及 Spin 的易用性和可扩展性使它们成为寻求构建可靠和可扩展系统.

spring-boot-istio:能自动在k8s上创建Istio资源的SpringBoot库

874 2

这个Spring Boot Istio库是专门为Spring Boot应用准备的。一旦这个库被加入你的应用并启用,它就会根据代码和注解字段@EnableIstio在当前Kubernetes集群上创建I.

如何选择使用API或消息传递 ?

543 2K

让我们首先看看API,它似乎是最主要的选择:APIAPI定义了允许两个应用程序相互通信的契约。这种契约的形式是服务器承诺提供的协议和样式,而客户应该遵守。API一种主要风格是REST,它在这种面向服务.

generator-springboot:自动生成SpringBoot代码

512 1

生成SpringBoot微服务的Yeoman生成器。特点: 采用jar类型打包的SpringBoot REST API CORS配置 Swagger UI集成 Spring Data JPA集成,可选.

分布式系统8种认知偏见

498 2K

分布式系统的谬误是由L Peter Deutsch和Sun Microsystems公司的其他人提出的一套论断,描述了刚开始接触分布式应用的程序员总是做出的错误假设。微服务的大规模采用,迫使更多的工程.

分布式系统设计模式手册

903 25K
如果您决定确实需要分布式系统,那么您将面临一些常见的挑战: 异构性——分布式系统允许我们使用范围广泛的不同技术。问题在于我们如何在所有不同服务之间保持一致的通信。因此,重要的是要商定并采用通用标准以简.

微前端如何相互调用通信?

754 2K

微前端的兴起彻底改变了 Web 开发,使团队能够独立构建、部署和扩展 Web 应用程序的组件。然而,微前端之间的有效通信对于无缝用户体验至关重要。在本文中,我将探讨各种通信模式,这些模式可以帮助团队驾.