架构师资料教程

     

用于微服务开发的 Java 框架

27 4K

本文列出了一些用 Java 构建微服务的流行框架:Spring Boot:Spring Boot可以说是用 Java 构建微服务的最流行的框架。它提供了一个全面的生态系统,用于以最少的配置开发独立的、.

Redpanda简介

17 10K

在本教程中,我们将讨论一个名为Redpanda的强大事件流平台。这是对事实上的行业流媒体平台Kafka 的竞争,有趣的是,它还与 Kafka API 兼容。我们将了解 Redpanda 的关键组件、功.

人工智能在现代软件架构设计中的作用

40 4K

软件架构自诞生以来已经取得了长足的进步。在早期,系统很简单,程序员经常对特定问题的解决方案进行硬编码。随着系统复杂性和规模的增长,这种方法变得难以管理。我们看到了结构化编程、面向对象编程以及最近的面向.

七篇Meta等大科技公司工程博文

56 2K

1. Uber 如何使用集成缓存从在线存储中提供每秒超过 4000 万次的读取作者:多位作者 ⸱ Uber ⸱ 阅读时间 14 分钟 ⸱ 2 月 15 日 讨论Docstore的架构,这是一个构建在 .

什么是池架构?

104 3K

池架构是一个微服务架构的潜在竞争者,在面向未来的可扩展性的竞争中挑战微服务的主导地位。本文深入研究池架构的核心功能,将其与微服务进行比较,并探讨其彻底改变我们构建可扩展应用程序方式的潜力。我们将揭示与.

架构:软件成本估算

55 12K

本文提出了一种新颖的软件成本估算混合方法,该方法将软件离散为更小的任务,并使用专家判断和算法技术。通过使用基于体积和复杂性的双因素资格系统,我们提出了一种更具适应性和可扩展性的模型来估计软件项目持续时.

解决方案架构、系统架构和企业架构区别

58

解决方案架构、系统架构和企业架构是三个不同层次的架构,它们在范围、关注点和目标上有所不同解决方案架构: 定义:解决方案架构关注于单个项目或产品的架构设计,它描述了如何将特定的技术组件和服务组合在一起来.

空间结构性胜过时间性

58

这篇文章讨论了在项目开发中,人们通常关注时间节点,但作者认为应该更关注项目的结构。文章指出,项目的结构和复杂度对于解决问题至关重要,而人们往往忽视了这一点。作者提出了“自然选择我们的最后期限”的观点,.

德国大型企业的企业架构管理建议介绍

49

我们开始启动一家德国公司的第一个企业架构:该公司在全球拥有约3万名员工,IT部门约有600人。我们有一个独立的应用程序和系统环境。我们的工作将从今年4月开始实施企业架构管理,你会推荐哪些领域、哪些主题.

系统设计面试概念术语要点

68 14K

以下是系统设计学习中的要点:CAP 定理基本要素:一致性、可用性、分区容错性。分区容错性:由于通信网络固有的不可靠性,因此必须具备。一致性和可用性之间的选择:一致性:所有节点同时看到相同的数据。需要在.

设计软件最重要的目标是可理解性?

70 1 2K

当您设计一款软件时,设计时最重要的一点就是可理解性。安全性、性能和正确性都很重要,但它们次优于可理解性。被误解的软件会产生Bug缺陷如果软件的实施者和维护者对软件存在误解,那么软件最终就会出现缺陷。主.

TOGAF中架构视角与架构视图区别?

50

TOGAF 规定,架构视点(Architecture Viewpoint)管理架构视图(Architecture vView)。那么,如果利益相关者有疑虑,该疑虑会反馈到哪里,是架构视点还是架构视图?.

7种软件架构建模语言

159 1 4K

由于软件的复杂性,始终需要以图形方式可视化软件架构并与其他人进行交流。对这些系统及其抽象进行建模和图表化使我们能够分析和改进设计,从而在构建它们时获得更高质量的实现。在本文中,我们将比较 7 种流行的.

软件顾问与软件开发人员:有什么区别?

53 5K

在软件开发领域,软件解决方案的概念和执行很大程度上取决于软件顾问和软件开发人员等两大技术专家的职责。虽然这两个角色对于成功完成软件项目都很重要,但他们的职责和技能有所不同。本文将讨论软件开发人员和软件.

单体应用、微服务和无服务器

62

本文说明在决定单体、微服务和无服务器架构时权衡的简化思维模型。目标是突出每种风格的固有优势和差距,同时为何时选择哪种建筑风格提供指导。单体小型团队或项目的理想入门架构。它启动起来很简单,并且通常可以提.

案例研究:物流中的超通用框架

69

一家非常大的物流公司聘请了一家咨询公司来建立一个网上商店来购买该物流公司的产品。该系统的核心是一个使用通用订单框架构建的专有订单引擎。我们检查了系统并发现以下行为: 一切都是命令。如果您想更改地址、购.

案例研究:将结帐系统拆分为太多服务

69

该项目应该用现代的、可扩展的、松散耦合的实现来取代现有的、单一的、难以扩展的结账系统。 为了实现这一目标,选择微服务架构作为软件系统的目标架构。微服务应该由一些核心服务来编排。此外,还有一个 Java.

案例研究:采用巧妙的遗留技术堆栈的人寿保险系统

54

一家保险公司开发了一个庞大而复杂的系统来处理其人寿保险单。由于不同技术和范式的混合,系统变得非常难以维护。6个月的部署周期对于业务需求来说太长了。系统的背景是什么?该系统已投入生产约十年,目前维护团队.

案例研究:12种保险产品的通用产品模型

56

在开发基于 COBOL 和分层数据库的旧保险系统的替代品时,决定使用通用产品建模系统。系统的背景是什么?背景是一家保险公司,长期开发并运营了一个采用COBOL的32*70终端前端的保险计算、销售和维护.

使用BPMN引擎实现商店结账流程的案例总结

32

随着时间的推移,一家国际商业公司现有的商店结账系统变得越来越复杂,该公司管理层决定启动一个项目来实施基于现代技术的新系统。系统的背景是什么? 主要是 Java 和 TypeScript 微服务 内部客.

软件架构中10个反模式

157 1 11K

发现常见的架构反模式,学习如何避免它们并克服设计陷阱!获得宝贵的见解、实用的建议和实际示例,以构建更好的软件架构并改进现有架构。反模式1:货物崇拜在不了解流程、技术或方法为何以及如何运作的情况下采用它.

分布式 PostgreSQL 架构概述

82 8K

许多分布式数据库讨论的重点都是分布式查询规划、事务等方面的算法。这些都是非常有趣的话题,但事实上,作为一名分布式数据库工程师,我只有一小部分时间花在算法上,而过多的时间花在了在各个层面进行非常谨慎的权.

分布式系统中的 CAP 定理权衡

90 3K

在本文中,我们将踏上揭开 CAP 定理复杂性的旅程,通过简单但相关的数据库类比的视角探索其意义和含义。1.什么是CAP定理?CAP 定理,也称为 Brewer 定理,是分布式系统中的一个基本原则,它阐.

Go-Architect:Go架构分析工具简介

106

Go-Architect是一个用于分析Go语言项目架构的工具,可以使用此工具来分析工件的设计,以便简化与重构代码、修复问题或改进工件功能相关的决策。为什么我们应该使用架构分析工具?架构分析工具可以帮助.

什么是系统工程师:技能、角色和职责

87 3K

每一项复杂技术的背后,系统工程师都扮演着关键的角色。系统工程师的任务是设计、实施和维护复杂的 IT 基础设施,这是我们当今看到的技术的基础。这些系统的范围从计算机网络、软件应用程序到大规模硬件配置。这.

为什么开发人员不喜欢 TDD?

226 1

测试驱动开发(TDD)是一种软件开发过程,依赖于短期开发循环的重复: 首先开发人员编写一个自动化测试用例来定义所需的改进或新功能, 然后编写代码来通过该测试, 最后重构新代码以符合可接受的标准。 然而.

使用 Structurizr 实现企业范围建模的项目

99 2K

这里有一个使用Structurizr进行企业建模的方法的例子,其中自顶向下的系统景观图是自动生成的这个存储库展示了一种使用 Structurizr 工具进行企业范围建模的方法;结合使用 Structu.

ArgoUML Java逆向工程

77

逆向工程是软件开发中的一个关键过程,它使开发人员能够获得对现有代码库的宝贵见解。它使他们能够理解复杂的系统、识别设计模式并提高可维护性。逆向工程库中的一个强大工具是 ArgoUML,它是一种流行的开源.

最有效的架构建模策略就是刚刚好

74 2K

敏捷架构思维的一个重要方面:刚刚好(JBGE: just barely good enough),它用来创建足以满足您的情况上下文的工件即可。出于某种原因,人们认为 JBGE 意味着人工智能不是很好,.

认知中概念思维与创建抽象两个能力比较

116 1

软件开发有两个重要点:编写代码与逻辑方法来自于两种认知能力:概念思维(战略思维)创建抽象(量化思维)事实上,很多人可以做到第一个而不是第二个,这也解释了设计模式的流行。概念思维和创建抽象都是认知过程,.