技术架构与体系结构

     

介绍Spring Modulith

6140 4 3K

Spring Modulith 是一个新的、实验性的 Spring 项目,它支持开发人员在代码中表达这些逻辑应用程序模块,以及构建结构良好、与领域对齐的 Spring Boot 应用程序。传统上,应用.

4+2 分层架构 - Ricardo

1992 1 4K
应用于软件架构的关注点分离,这个4+2 分层架构提案是对Clean Architecture的改进,仅公开了领域业务规则最相关的概念以及接口 API与注入实现的使用。介绍许多原则推动了软件开发,而关注.

Java微服务六边形结构简介

1653 1 6K
本文将在 Java 中实现 Hexagonal Architecture 的基本概念。六边形架构:六边形架构是一种用于设计软件的架构模式。它旨在创建以核心业务逻辑或领域为中心的松散耦合的可互换软件组件.

单点登录 (SSO):SAML、OAuth2、OIDC 简化

2377 2 4K
在本文中,我们将了解单点登录 (SSO) 和 SSO 广泛使用的两种协议,即 SAML 和OAuth2。这是任何程序员都需要理解的复杂领域之一。什么是单点登录?单点登录 (SSO) 是用户可以使用一组.

6 条重要的软件架构原则

1270

这是六个重要的软件架构原则的选择。1. 制造、购买、重用——或者更好地重用、购买、至少制造在购买之前重复使用,在制造之前购买。为什么?示例:如果您制作(编码和实施)您的个人公司互联网浏览器、邮件应用程.

五种常见的软件架构模式

2254 1
目标 提前计划并遵循模式或风格可以让开发人员更好地了解每个组件的职责,并让开发人员能够专注于较低级别的细节。 熟悉许多软件架构模式并了解每种模式的优缺点对于选择最适合功能要求的模式至关重要,并且最终很.

SpringBoot六边形架构案例

2059 1 2K
六边形架构是一种用于设计软件应用程序的架构模式。近年来,它的受欢迎程度有所增加,因为它是传统分层架构的替代品。分层架构有什么问题?这种架构模式应用 SoC(关注点分离)原则将我们的组件分解为层,每一层.

简化的 Java 六边形架构 – BABAL

1694 1 9K
一、概述在本教程中,我们将使用 Hexagonal Architecture 的原理,使用 CLI 使用者实现一个简单的 Java CMS 应用程序。主要思想是尽可能保持业务逻辑分离,并使用SOLID.

系统设计五步指南 - benscheer

1034 3K
系统设计对话可能非常具有挑战性。可能有很多模棱两可的地方、选项和想法——加上有限的时间和难以解决的问题。根据经验,我发现了一种通用方法,可以帮助使这些对话更有条理、更有趣、更有成效。1. 要求和目标系.

domain-driven-hexagon: 领域驱动六边形架构学习资料

1580 1 19K
学习领域驱动设计、软件架构、设计模式、最佳实践,该项目的主要重点是提供有关如何设计软件应用程序的建议。本自述文件中介绍了从不同来源收集的一些技术、工具、最佳实践、架构模式和指南。代码示例是使用Node.

从单体迁移到微服务的十二种方法

1531 1 8K
你的团队决定是时候摆脱那个旧的、笨重的单体了,它运行得很好,但是单体已经变得如此之大,以至于你花费更多的精力来维护它而不是添加功能。这里有 12 个技巧,可帮助您尽可能顺利地过渡到微服务。#1 确保你.

软件架构图表与模式介绍

1711 1 9K
软件架构是任何成功软件系统的基础,并且会影响整个系统生命周期中的可维护性、可扩展性、稳定性和安全性等方方面面。实施新软件系统的第一步是架构图.随着软件系统和 Web 应用程序变得越来越复杂,精心设计的.

六边形架构入门 - levelup

2692 1 3K
经营传统农场绝对是一场噩梦。你必须喂食动物,把它们赶出去,安排兽医的拜访,种植庄稼,驱赶害虫,并同时处理数百项其他任务。把所有东西都放在正确的地方一定是一份全职工作。鸡无意识地四处游荡,被狐狸抢购一空.

学习软件架构、编程模式的交互式网站:refactoring.guru

1838

现在有很多很酷的平台可以学习编程语言基础,也有相当多的平台可以学习算法和数据结构,所有这些都有不同程度的游戏化或难度化。但是,职业生涯需要比游戏更多的东西来获得成功所需的正确技能水平。几乎没有什么平台.

系统设计架构:有状态与无状态

2260 3
设计一个应该易于扩展的系统时,您首先要尝试扩展系统的不同组件。在客户端层,你有你的客户端设备,可以是台式机或移动设备在应用层,您将拥有CDN、负载均衡器、应用服务器或 Web 服务器以及其他用户管理实.

system-design-resources: 最好的系统设计英文资源

967 11K

这些是 Internet 上系统设计的最佳资源。视频处理大规模转码视频:https ://www.egnyte.com/blog/2018/12/transcoding-how-we-serve-vi.

系统设计:如何设计一个分布式作业调度器 ?- Rakshesh

2148 1 5K

工作调度是一个众所周知的系统设计面试问题。下面是一些可能需要设计工作调度器的领域。 设计一个付款处理的系统。(即每月/每周/每天的支付等) 设计一个代码部署系统。(即代码流水线) 这个职位的目的是设计.

pa-monolith-example: 单体中使用端口和适配器的六边形架构案例

826

本案例github源码是一个六边形架构的单体案例,非微服务案例。首先,包的形式:1、把领域和基础设施分开。领域是你所有的业务逻辑、数据库模型、你的服务、DTOs、异常、端口接口和所有对你的领域来说重要.

每天会生成巨大的数据库,请教系统设计方法?- Reddit

760

我最近加入了一家仍处于成长阶段的金融科技初创公司。我们管理的平台基本上是投资组合管理。我们考虑来自用户银行的账户交易、汇率、资产价格(来自路透社等第三方),并计算投资组合估值和业绩。所以流程可以概括为.

Wayfair的广告竞价系统架构 - quastor

1580

Wayfair是一家销售家庭家具的电子商务公司。你可以把他们看作是 "家用家具的亚马逊"。他们与23000多家供应商合作,在其网站上有超过3000万件产品。为了让客户访问Wayfair的网站,他们在搜.

奈飞Netflix如何同步数以亿计的设备?

1154 1

Netflix 是一种在线视频流媒体服务,以疯狂的规模运行,2.2 亿活跃用户从多个设备访问他们的 Netflix 帐户,因此 Netflix工程师必须确保用户登录的所有不同客户端都是同步的。为所有用.

是按技术职责还是按领域职责划分模块包? - Reddit

1218 1 4K

在构建 REST api 时,您会选择:选项 A:├── controllers│   ├── order.go│   ├── region.go│   └── user.go├── models│ .

什么是TOGAF解决方案? - Anatolii

1918 100 4K

以下是对企业解决方案架构的核心工程阶段的精简回顾: 解决方案架构有什么用?解决方案架构有许多不同的风味,而且几乎每家公司都有其混合的责任,这是个术语。因此,有一个共同的基础来解释和分类解决方案架构中所.

Airbnb的架构演进

1204

Jessica Tai 是 Airbnb 的一名工程经理,负责平台基础设施方面的工作。她在 QCon上就 Airbnb 的架构以及这些年来它是如何转变的做了一场精彩的演讲。摘要如下:自公司成立以来,A.

Yelp如何重新架构其大规模大型的服务器端渲染?

861 1 5K

在 Yelp,我们使用服务器端渲染 (SSR) 来提高基于 React 的前端页面的性能。在 2021 年初发生一系列生产事件后,我们意识到我们现有的 SSR 系统无法扩展,因为我们将更多页面从基于 .

库 vs 服务 vs 侧车Sidecar的比较

780

所有软件应用程序都由可重用的元素组成。这些可重用元素的目标和功能从基础设施级别到安全级别到业务能力各不相同。本文的目的是比较用于构建和部署这些可重用元素的不同方法。 1.库包这是重用代码的最广泛使用的.

从DoorDash安卓应用中学到的8个技巧

1473 2K
在移动应用程序中有效实施支付需要精确关注支付方式、用户体验和欺诈预防等因素。移动支付对企业至关重要,这意味着工程师应该采取深思熟虑的方法,预测所有可能发生的情况。在 DoorDash,我们发现了有助于.

系统设计:如何设计Youtube?

2142 2 7K

Youtube 是世界上最受欢迎的视频分享网站之一。该服务的用户可以上传、查看、分享、评价和报告视频以及添加对视频的评论。 系统的要求和目标为了这个练习,我们计划设计一个更简单的 Youtube 版本.

CodeKarle:推特系统设计面试

1638 1 5K

一个典型的面试问题:“你将如何设计一个像 Twitter 这样的系统”。 让我们看一下开始的要求。功能要求 推文 - 应该允许您发布文本、图像、视频、链接等 Re-tweet - 应该允许你分享某人的.