技术架构与体系结构

     
  • 比喻:什么是大模型操作系统?

    39 13K
    LLM OS (大语言模型操作系统)架构类比图是由 Andrej Karpathy 创建的: LLM 作为 CPU:LLM 作为核心处理单元,替代或增强传统 CPU。它负责自然语言处理、生成和理解,为.
  • 使用GPT-4o实现软件架构解决方案

    49 10K
    我向 GPT-4o 提出了为 Architectural Kata Agile Dead Trees 创建解决方案的实验,结果令人印象深刻。在文章的最后,我明确要求创建考虑微服务架构设计模式的软件架构.
  • C4模型的软件架构图

    47 6K
    该存储库是使用 C4 模型创建软件架构图的示例。图表应该易于创建和更新,确保每个人都能获得最新的信息我们都经历过加入一个复杂的项目,解读代码库就像读一整本小说一样。工程师是代码奇才,但即使是最好的工程.
  • 分布式系统好处不仅是规模变大

    71 1 3K

    有一种观点: 您不需要分布式系统!如今的计算机速度如此之快,您只需一台机器即可为所有客户提供服务 这种论点是愚蠢和简单化的。这一论点基于一个事实: 现代机器非常强大,每秒可以完成大量工作,甚至可以将一.

  • Oreilly报告:2023年IT行业总结

    357 1 6K

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

  • 软件架构中10个反模式

    232 1 11K

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

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

    199 3K

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

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

    174

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

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

    177

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

  • 软件架构简介

    401 9K

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

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

    271

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

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

    173

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

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

    259 3K

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

  • Spring Modulith 1.0 GA发布

    522

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

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

    730 1 12K

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

  • Golang六边形架构源码和分析

    788 8K

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

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

    418 2K

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

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

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

    959 5K

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

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

    884 6K

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

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

    514 2K

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

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

    680 11K

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

  • 单体不是恐龙

    483

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

  • 系统设计蓝图:终极指南

    1191 4 5K

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

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

    941 1

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

  • 软件架构文档的终极指南

    1464 8K

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

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

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

    1415 1 3K

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

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

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

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