技术架构与体系结构

     

Oreilly报告:2023年IT行业总结

207 1 6K

要点: 软件架构领域的内容使用量整体下降,但企业架构和事件驱动架构的使用量出现增长。 微服务的使用量下降,反映出许多开发人员对微服务的失望,并主张回归单体应用。 编程语言方面,Python和JavaS.

软件架构中10个反模式

157 1 11K

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

什么是系统设计 – 学习系统设计

127 3K

系统设计被定义为为系统的不同组件、接口和模块创建架构并提供有助于在系统中实现这些元素的相应数据的过程。系统设计是任何分布式系统设计背后的核心概念。系统设计涉及识别数据源,它是描述、创建和规划框架以满足.

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

106

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

Spring框架中@component、@Service、@Controller和@Repository

78

在Spring中,@component、@service、@Controller和@Repository注释称为构造型注释。当启用组件扫描时,Spring会自动将这些bean导入到容器中,并将它们注入.

软件架构简介

326 10K

软件架构和软件设计是同一主题的两个方面。两者都是关于如何构建软件以执行其任务。术语“软件架构”通常指软件系统的较大结构,而“软件设计”通常指较小的结构。架构和设计之间的确切界限很难说,因为系统的架构也.

什么是自足系统(Self-contained Systems)?

176

自足系统(又称为自包含系统、自我独立系统,英文Self-contained Systems,简称SCS)是一种软件架构方法,SCS 包含自己的 用户界面、特定的 业务逻辑 和单独的 数据存储 。SCS.

MVC、MVP、MVI、MVVM、MVVM-C和VIPER等模式的区别

124

以下是最重要的架构模式列表:1、MVC(Model-View-Controller):它是最早被采用的设计模式之一。其主要目标是将应用程序的数据、用户界面和控制逻辑分离成三个相互关联的组件。在这里,模.

Instagram 如何仅靠 3 名工程师就将用户数量扩大到 1400 万

197 3K

从 2010 年 10 月到 2011 年 12 月,Instagram 在短短一年多的时间里,用户数量从 0 增长到 1400 万。做到这一点的只有 3 名工程师。他们之所以能做到这一点,是因为遵循.

Spring Modulith 1.0 GA发布

422 2K

我很荣幸地代表 Spring 社区和所有做出贡献的人宣布 Spring Modulith 1.0 GA 正式发布。5 年多前,Modulith 还是一个研发辅助项目,2022 年成为 Spring 的.

用Java的Rama构建Mastodon降低100倍成本

668 1 12K

Rama 完全使用 Java API 进行编程,与使用 Ruby on Rails 构建的官方 Mastodon 实现相比,我们的实现大大减少了代码。Rama 负责处理所有数据处理、数据索引和大部分产.

Golang六边形架构源码和分析

714 10K

维护软件的成本比开发软件的成本高得多。为了使维护软件具有成本效益,我们需要一种架构,使每个开发人员都能轻松理解代码库的每个部分并鼓励并行工作,因为大型软件通常有一个团队在背后支持。六边形架构旨在通过提.

尽可能长时间地坚持令人乏味的架构?

381 2K

构建真正为客户带来改变的产品所带来的满足感,比追赶最新技术潮流所带来的短暂兴奋更有价值。依靠稳定且易于理解的技术来优先考虑交付价值。有选择地、有意识地进行创新。这种创新属于什么创造力?创造力是一个动态.

多层、六边形、洋葱和clean架构简介

888 1
10年前,你只需要知道GoF模式,你就可以称自己是一个优秀的开发人员。现在不是了!如果你想构建高质量的软件,你需要架构知识。N层架构这种体系结构将应用程序组织成水平层,每个层负责特定的任务。  - 表.

流行软件架构模型的优缺点

837 5K

多年来,软件架构模型和框架已经取得了长足的进步,不断发展以应对软件开发领域的挑战和复杂性。从早期的Zachman框架开始,到更全面的TOGAF,再到4+1架构视图模型,最后到最近的C4模型,进步是显着.

六边形架构:为什么它比 MVC 或Clean架构更好?

816 6K

六边形架构,也称为端口和适配器,是一种促进松散耦合、可测试性和可扩展性的流行方法。这种架构风格使开发人员能够创建健壮且适应性强的系统。本文探讨了六边形架构的概念,并提供了实际用例、代码示例和比较,以帮.

简介:六边形、单体、微服务和分层架构

463 3K

在不断发展的软件开发领域,选择正确的架构范式对建立强大的可扩展的应用程序至关重要:在不断发展的软件开发领域,选择正确的架构范式对于构建健壮和可扩展的应用程序至关重要。本文旨在探讨四种著名的架构方法之间.

七篇国外大科技公司工程博客摘录

598 11K

有选择地从科技公司的工程博客中挑选博客文章:1、[Airbnb]用HTTP流提高性能讨论HTTP流如何提高页面性能,以及Airbnb如何在现有的代码库中启用它。流式传输的含义,想象一下,我们有一个水龙.

单体不是恐龙

439

构建可演进的软件系统是一种策略,而不是一种宗教。必须以开放的心态重新审视您的架构。软件架构不像桥梁和房屋的架构那样。桥梁建成后,很难、甚至不可能改变它的建造方式。软件则完全不同,一旦我们运行我们的软件.

系统设计蓝图:终极指南

1102 4 5K

在这篇博文中,我们将探索基本的系统设计组件,例如 DNS、负载平衡、API 网关等,以及一个简明的备忘单,可以帮助开发人员设计不同复杂度的系统。第一节:系统设计原则1.1:模块化将系统划分为更小的、易.

服务器制约伸缩性的四种关键资源

912 1

计算机服务器有4种关键资源来驱动其功能。大多数可伸缩性问题都是在这些资源耗尽或分配不当时出现的。内存(也称为RAM)在服务器中起着至关重要的作用,因为它临时存储数据,以供中央处理器(CPU)快速访问和.

软件架构文档的终极指南

1389 9K

软件架构文档创造了共同的理解(在同一种语境上下文BC中的达成共识)软件架构文档至少应该支持开发团队,例如,当一个新的团队成员新入职,会有很多问题: 在哪里可以找到系统构建块的概述? 你为什么使用Ang.

实践中的模块化单体 | Foojay.io

2019 1 3K
随着微服务在应用程序现代化中的使用,我们已经看到了保持这种软件开发风格的优点和缺点。当我们主要在企业组织中创建应用程序时,我们现在首先想到的是如何解耦我们的应用程序。但有时创建太多微服务并不是最好的方.

为什么好的软件架构很重要? – Maciej

1376 1 3K

近年来,我在IT公司遇到过很多因软件架构不正确而导致的问题。不正确是什么意思?在大多数情况下,这是一个方向——相对于它应该解决的问题来说:要么过于简单要么极其复杂这两种情况都会导致性能问题并阻止组织变.

Spring Modulith能成熟实现模块化了吗? - Foojay

1315 7K
设计微服务的主要原因之一是它们强制执行强大的模块边界。然而,微服务的缺点是如此之大,就像砍掉你的右手来学习用左手写字一样;有更多易于管理(并且痛苦更少!)的方法来实现相同的结果。即使自微服务热潮开始以.

如何绘制技术架构图?

2855 2K
什么是架构图?为什么要画架构图?怎样才能画出通俗易懂的架构图?相信很多读者都看过很多技术文档,其中都会配上一些架构图,帮助读者理解作者的意图。很多时候,这样的图描述系统远比长篇大论的文字来得有效,所以.

能显示业务目标的DDD微服务架构图 -Aleix

1548 1 2K
从我职业生涯的一开始,我就一直在分析和绘制架构图。他们中的大多数人关注正在使用的技术以及它们如何相互通信。他们中很少有共同的商业目的。您有多少次需要在查看图表时与某人交谈以询问该服务的作用?那一个呢?.

MVC模式与六边形架构区别?

1655 1
MVC 是一种设计模式,而不是架构模式。架构模式是六边形架构 等。软件行业非常混乱,框架作者想向您推销他们的产品并以此扭曲程序员的思想。实际上:在六边形架构中,MVC 和框架是其输入端口的“网络适配器.

系统设计面试完整列表

1842 3K

系统设计面试完整列表:1.网络通信协议分布式系统中的机器通过网络彼此通信。需要了解的内容: - 对低级网络的基本了解 - 协议(IP、TCP、UDP、DNS和HTTP) 2.储存信息存储是每个分布式系.

马斯克刚公布Twitter数据读取架构图

1671 4
下图是Alex Xu根据上述草图绘制的正式图:下图是十年前架构图:马斯克透露:Notes from last night:- Maybe deprecate TLS this week, as onl.