首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏落影的专栏

    工程架构持续演进

    正文 整体视角 首先介绍工程当前整体设计,整体工程视角的架构图如下: 业务实现层和业务接口层,是常迭代的业务部分; 业务接口层,存放业务组件对外的能力,这些能力大部分用接口来表述。 通用基础层,工程的二方库和三方库依赖,引入更多扩展能力。 组件视角 组件内部的结构设计,主体是分为对外部分和对内部分。 工程架构角度 1、接口层与实现层,基础层与实现层都有隔离,但是仍然存在同层之间相互依赖较多的情况,甚至会有UI组件、数据层依赖服务层情况; 2、多App场景,如果想要让某个App下去除某个组件,由于组件依赖较多 架构演进 架构演进的思路,主要考虑当下要素: 1、多App迭代述求,以融合开发方式为多App提效,同时保留业务细节差异化能力,以及整体业务模块剥离的包体积优化空间; 2、SaaS同构迭代,未来相关业务既要接入 SaaS,又要迭代SaaS; 3、质量和效率提升,更加清晰的工程架构来承载复杂业务,层级之间更加清晰并有防劣化,复杂业务组件有良好设计来降低理解成本 基于上述分析和考虑,对原来架构进行进一步调整:

    29020编辑于 2023-07-31
  • 来自专栏喔家ArchiSelf

    架构软件工程的未来

    适当地使用这些数据,同时保护数据并防止其被滥用,会带来与隐私、信任和道德相关的严重架构挑战和软件工程挑战,例如差分隐私的技术。 本报告中的研究为推进软件工程学科提供了必要的基础,以确保必要的框架到位,以最大化这些未来的优势。 软件工程的新愿景需要新的开发和架构范例,这也激励了第5节中描述的重点研究领域。 在我们的软件工程愿景中,高级 架构范例将使系统的这些新方面的可预测使用成为可能。 拥有与熟悉领域直接相关的图不仅有助于拉平学习曲线,而且有助于更多领域的专家,如系统工程师和经验丰富的软件架构师,确保软件系统满足用户需求。 7 结论 架构软件工程的未来:国家软件工程研究与开发议程是为期一年的社区活动结果,旨在重新验证软件工程的重要性和中心地位;确定该学科当前和未来的挑战;并制定研究议程,以促进软件工程生态系统为未来做好准备

    96030编辑于 2022-12-03
  • 来自专栏架构之家

    推荐工程系统架构演进

    到家推荐工程框架- V.1.0 2.1. 框架雏型 2.2. 存在问题 3. 到家推荐工程框架- V.2.0 4. 到家推荐工程框架- V.3.0 4.1. ,按照推荐流程的固有阶段对系统进行水平分成,使系统更贴切业务,框架更为合理清晰 V.3.0按照到家业务对每个推荐阶段抽象整合,将推荐系统平台化,提高系统的扩散性、伸缩性、稳定性 2、到家推荐工程架构 3、到家推荐工程架构- V.2.0 推荐接入的业务场景与日俱增,系统维护渐渐显露了框架1.0中的几大风险,首先做的第一个拆分方式,就是按业务做了垂直拆分逻辑,将应用1分为N,存储1分为N,做业务隔离。 4、到家推荐工程架构- V.3.0 在这个版本的研发中,主要演进方向是pipeline流程动态配置化,将推荐A、B、C业务场景中共性的部分独立,并能独立设置相关属性,做到业务之间代码共享且属性设置隔离 流程设计,如图 服务端 服务端基础架构如图主要含两大块:对外服务接口和配置管理。

    49121编辑于 2022-09-01
  • 来自专栏后端从入门到精通

    逆向工程-架构真题(二十)

    A、顺序、选择和嵌套 B、顺序、分支和循环 C、分支、并发和循环 D、跳转、选择和并发 答案:B 解析: 结构化设计是面向数据流设计方法,主要架构设计、接口设计、数据设计和过程设计。 5、基于软件架构设计ABSD,强调 商业、质量和功能 需求的组合驱动软件架构设计。它强调 视图、视角 描述软件架构,采用用例和质量场景描述需求。用例描述功能需求,质量场景描述质量需求。 A、逆向工程 B、系统改进 C、设计恢复 D、再工程 答案:A A、逆向工程 B、系统改进 C、设计恢复 D、再工程 答案:D

    36420编辑于 2023-09-05
  • 来自专栏Spark学习技巧

    推荐工程系统架构演进

    到家推荐工程框架- V.1.0 2.1. 框架雏型 2.2. 存在问题 3. 到家推荐工程框架- V.2.0 4. 到家推荐工程框架- V.3.0 4.1. ,按照推荐流程的固有阶段对系统进行水平分成,使系统更贴切业务,框架更为合理清晰 V.3.0按照到家业务对每个推荐阶段抽象整合,将推荐系统平台化,提高系统的扩散性、伸缩性、稳定性 2、到家推荐工程架构 3、到家推荐工程架构- V.2.0 推荐接入的业务场景与日俱增,系统维护渐渐显露了框架1.0中的几大风险,首先做的第一个拆分方式,就是按业务做了垂直拆分逻辑,将应用1分为N,存储1分为N,做业务隔离。 4、到家推荐工程架构- V.3.0 在这个版本的研发中,主要演进方向是pipeline流程动态配置化,将推荐A、B、C业务场景中共性的部分独立,并能独立设置相关属性,做到业务之间代码共享且属性设置隔离 流程设计,如图 服务端 服务端基础架构如图主要含两大块:对外服务接口和配置管理。

    98720编辑于 2022-03-15
  • 来自专栏云云众生s

    使用 Kubernetes 精简平台架构工程

    使用 Kubernetes 精简平台架构工程 平台架构工程涉及创建一个环境,使开发人员可以专注于构建应用程序。Kubernetes 可以提供帮助。 这就是平台工程发挥作用的地方,它充当支撑整个软件开发生命周期的 backbone。让我们深入探讨平台工程在为应用程序创建和维护基础设施方面的关键作用。 理解平台工程 在其核心,平台工程涉及创建一个环境,使开发人员可以专注于构建应用程序,而不必承担管理基础设施复杂性的负担。 平台工程架构,构建和维护必要的基础设施和工具,以确保应用程序平稳高效地运行,不管它们可能包含的复杂性。 在应用程序开发的动态世界中,平台工程师面临着多方面的挑战。 平台工程师需要高效的工具和策略来有效地管理这种复杂性。 在平台工程领域,效率和可靠性的追求依赖于自动化。凭借其强大的功能集,Kubernetes 成为平台工程师寻求自动化部署和扩展过程的灯塔。

    25110编辑于 2024-03-28
  • 来自专栏【腾讯云开发者】

    腾讯文档前端工程架构改造实践

    01、老旧的工程架构让业务开发走得越来越慢 需要治理的地方在哪里,只有弄清楚病症才能够有效对症下药,我们通过 review 开发全流程,发现问题主要是这几个方向: 多 npm 包手动发布效率低下且不安全 难点在于需要关心包之间的依赖关系,比如这是实际业务开发中的一个很常见的一个依赖关系: 在以前的架构中,包之间依赖都是直接写版本,然后从源中下载,我们修改 A 的代码,需要进行构建,发布,然后再更新 A 提速依赖安装 在之前的仓库架构下,使用 npm 安装依赖,整个组件仓库就只有一组 package.json 与其 lock 文件,将这两个文件 copy 到 docker 中,进行依赖安装后上传到云端, 但是在 pnpm workspace 的架构下行不通了,因为此时每个子包下都有独立的 package.json,也就是说我们仓库 100 多个组件就有 100 多个 package.json文件,好像没有办法仅通过根目录下的 基本上没有什么所谓自研工具,一方面是人力所限,另一方面就是我认同所有的代码本质都是技术债,都是需要维护成本的,所以我的理念就是尽量基于开源的代码,使用社区先进的工具,用尽量少的代码实现我们的目的,从而降低系统的复杂度,工程化的代码不应该是自研的黑盒

    1.3K21编辑于 2024-07-03
  • 来自专栏博文视点Broadview

    前端工程化思维:主题切换架构

    在本文中,我们将实现一个工程化主题切换功能,并梳理现代前端样式的解决方案。 1 设计一个主题切换工程架构 随着iOS 13引入深色模式(Dark Mode),各大应用和网站也都开始支持深色模式。 这里的高效就是指工程化、自动化。在介绍具体方案前,我们先来了解一个必会的前端工程化神器——PostCSS。 ▊ PostCSS原理和相关插件能力 简单来说,PostCSS是一款编译CSS的工具。 本文介绍的工程化主题切换架构也离不开PostCSS的基础能力。 整体架构设计如图2所示。 图2 2 主题色切换架构实现 有了整体架构,下面来实现其中的重点环节。 首先,我们需要了解PostCSS插件体系。 本文节选自《前端架构师:基础建设与架构设计思想》一书,更多前端架构相关内容,请查看本书! 粉丝专享六折,快快扫码抢购吧!

    85910编辑于 2022-08-31
  • 来自专栏云原生应用工坊

    容器应用程序架构与平台工程

    现代容器应用程序架构不再是一项单一的技术挑战,而是一个综合性的平台工程,它集成了多个解决方案以支撑复杂的业务需求。 下面,我们将探索这七大解决方案如何共同构成现代容器应用程序架构的核心。 1. 联合身份提供商解决方案 在现代应用架构中,提供一个统一的身份验证和授权机制至关重要。 微服务 微服务架构允许团队独立开发、部署和扩展各自的服务。 服务网格解决方案 服务网格是微服务架构的一个关键组件,它提供了细粒度的网络控制和服务间通信的安全。 LangChainAI 解决方案 LangChainAI代表了人工智能的进步,它在整个应用程序架构中提供智能决策和自动化。

    47510编辑于 2023-12-06
  • 来自专栏CODING DevOps

    干货 | GraphQL 基于 SPA 架构工程实践

    我今天分享的主题是基于 SPA 架构的 GraphQL 工程实践。主要从一名前端的视角来看 GraphQL 在整个 web 链路中包括前端和后端协同效率的问题。 ? 2、基于前后端分离一些架构设计与技术选型。 3、详细介绍基于 GraphQL 构建 BFF 这一层,我的一些分层设计和思考。 4、介绍一下前后端协作一些效率方面的问题。 架构设计与技术选型,前后端分离,说起前后端分离是一个老生常谈的问题,自从我开始做前端一直到现在,我认为前后端分离大致分为四个阶段: ? 这个架构图相信很多人已经看到过,就不多说了。 这是技术选型,显然它不是唯一的,因为前面很多讲师有他们自己的选型。

    1.2K10发布于 2019-09-16
  • 来自专栏后端从入门到精通

    软件工程概述-架构师(三)

    一、软件工程概述(老版) 软件开发生命周期: 1、软件定义时期:包括 可行性研究和详细需求分析过程,任务是软件工程必需完成的目标,具有可行问题分析、可行性研究、需求分析等。 软件工程过程指为获得软件产品包括以下4个方面活动: 1、P(plan):软件规格说明。 2、D(do):软件开发。 3、C(check):软件确认校验。 4、A(action):软件演进。 软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具和再工程工具。 软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。 软件设计四个活动: 数据设计、架构(体系结构)设计、人机设计(接口)和过程设计。 能力成熟度模型集成CMMI: cmm能力成熟度模型指软件,CMMI则是 若干过程模型的综合改进,不仅仅软件,而是支持多个工程学科和领域的、系统、一致过程改进框架,能适应现在工程特点,提高质量和效率。

    36730编辑于 2023-09-05
  • 来自专栏喔家ArchiSelf

    架构软件工程的未来(精要版)

    【引言】《架构软件工程的未来》一文共有近5万字,很多朋友反映阅读耗费的时间较多,导致很多人没有耐心读完,特推出4000字精要版。 1. 为了实现这一愿景,我们预计未来系统工程需要新的开发和架构范例。 我们的研究有助于为未来系统的软件工程提供新的研究领域。 该研究领域的重点是探索现有的软件工程能够可靠地支持人工智能系统的开发,以及识别和增强软件工程技术,用于规范、设计、架构、分析、部署和维护具有人工智能组件的系统。 软件工程研究社区应该开发一种理论和相关实践,以重新确保不断演进的软件系统。本研究的一个焦点是保证论证,它应该是与系统架构同等重要的软件工程工件,以确保小的系统更改只需要增量的重新保证。 促进对新计算模型工程的更多关注,重点是量子使能的软件系统。软件工程界应与量子计算界合作,以预测量子赋能的新架构范例计算系统。重点应该是理解量子计算模型如何影响软件堆栈的所有层。

    51150编辑于 2022-12-03
  • 来自专栏JavaEdge

    工程师到架构师!

    怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」 从软件开发人员到软件架构师——充满挑战的旅程 掌握软件架构的道路是一段永无止境的旅程。 当你浏览大量关于软件架构的材料时,可能会感到不知所措。 此外,许多你找到的内容质量参差不齐,因为很多关于软件架构的内容是由和你一样的同行发布的,他们以自己的方式试图理解这段旅程。 因此,我在下面汇总了一份高质量的资源清单,旨在帮助那些希望成为软件架构师的开发人员和希望提升自己的现任软件架构师。希望这能帮助你在通往软件架构师大师的道路上设定正确的方向。 这些资源——既有免费的,也有付费的——讨论了软件架构的不同方面以及软件架构师在行业中的角色。 这份清单的目标是为软件工程师成为软件架构师提供一个路线图,或帮助现有的软件架构师提升他们的角色。 你还会看到该资源的详细内容和它如何帮助你在成为软件架构师(或成为更成功、更有成就感的软件架构师)的道路上前进。 事不宜迟 —— 软件架构师资源——通往成功的路线图!

    16900编辑于 2024-05-25
  • 来自专栏IT派

    AI工程师为什么要了解架构

    为什么AI工程师要懂一点架构? 我们招的算法工程师里,也有同学说,我发的顶会 paper 一级棒,或者我做 Kaggle 竞赛一级棒,拿了不少第一名的,不懂架构就不懂呗,我做出一流算法,自然有其他工程师帮我上线、运行、维护的。 为什么我要说,AI 工程师都要懂一点架构呢?大概有四个原因吧: 原因一:算法实现 ≠ 问题解决 学生、研究员、科学家关心的大多是学术和实验性问题,但进入产业界,工程师关心的就是具体的业务问题。 但这里的问题不仅仅是分工这么简单,如果算法工程师完全不懂架构,其实,他根本上就很难在一个团队里协同工作,很难理解架构、应用层面对自己的算法所提出的需求。 原因四:架构知识,是工程师进行高效团队协作的共同语言 AI 工程师的确可以在工作时专注于算法,但不能不懂点儿架构,否则,你跟其他工程师该如何协同工作呢?

    78230发布于 2018-03-29
  • 来自专栏后端从入门到精通

    软件工程模型-架构师之路(四)

    一、软件工程模型 敏捷开发: 个体和交互 胜过 过程和工具、可以工作的软件 胜过 面面俱到的文件、客户合作胜过合同谈判、响应变化 胜过 循序计划。 细化阶段:系统架构确定。 构造阶段:编码实施。 移交阶段:给客户使用。 RUP核心概念: 角色:who的问题。有很多不同角色,架构师,设计师,测试员。 活动:解决how的问题。明确目的,怎么去做。 三、逆向工程 软件复用: 早期是代码的复用,减少软件开发和维护成本。现在指 领域知识、开发经验、设计决定、体系结构、需求、设计代码和文档等一切有关方面。 重构、设计恢复、再工程和正向工程。 重构:同一抽象级别转换系统描述形式。 再工程:逆向工程基础上,修改或重构已有系统,产生新的系统版本。三个过程,逆向过程、新需求考虑和正向工程。 正向工程:使用该信息去改变或重构现有系统。

    46830编辑于 2023-09-05
  • 来自专栏ThoughtWorks

    微服务架构下的质量迷思——混沌工程

    ---- 微服务架构面临的挑战 通常情况下,对于复杂业务或遗留系统,我们可以通过领域驱动设计(DDD:Domain-Driven Design)有效的解决限界上下文划分、服务边界定义以及组织结构调整等问题 下图,我们聚焦于微服务架构的业务服务层,在API测试之外在基础服务的调用方和提供方之间增加了契约测试: ? Netflix开发出Chaos Monkey来对系统进行随机试验来了解系统是否具有高可用性和容错性,而由此便诞生出”混沌工程“。 ---- 什么是混沌工程?混沌工程原则是什么? Spring Cloud是时下最流行的分布式微服务架构下的一站式解决方案之一,它方便快速的将Spring Boot的微服务有效的管理起来,并提供了包括负载均衡、全链路监控、服务网关以及众多基于Netflix 这些只是混沌工程的简单使用方法,在实际项目中需要根据项目架构、业务复杂度、调用场景等设计试验细节。

    95440发布于 2019-05-14
  • 来自专栏超级架构师

    【韧性架构】韧性性工程的重要性

    您使用的基础架构也是分布式应用程序环境的一部分。这是陷入困境的公司没有(足够)考虑到的。 此外,在设计在此基础架构上运行的应用程序之前,他们的 SLA(通常比我们看到的 Kinesis SLA 更差)通常没有得到足够仔细的评估。 此外,通常认为远程应用程序在本地环境中 100% 可用。 这就是您需要韧性工程的原因。 韧性工程可让您系统地评估业务用例的重要性,检查潜在的故障模式并决定对策。如果操作正确,它是一种强大的风险管理工具,还可以考虑您行为的经济后果。 通常,韧性工程与混沌工程相辅相成。韧性工程可帮助您解决已知的故障模式,而混沌工程可帮助您检测未知的故障模式(并验证韧性措施的有效性)。 与探索性测试类似,您可以模拟任意故障情况并观察系统如何响应它。 韧性工程有助于评估和减轻可用性,从而降低经济(或更糟)风险。这不仅仅是一场 IT 秀,而是业务和 IT 的共同努力。 混沌工程通过发现未知的故障模式来增强韧性工程

    96711编辑于 2022-09-26
  • 来自专栏架构之美

    孙玄:转转如何打造AI工程架构体系

    在“容器下的AIOps”分会场,转转公司首席架构师/架构算法部负责人孙玄做了主题为《转转如何打造AI工程架构体系》的精彩演讲。 演讲核心内容涉及转转AI工程体系中,推荐与搜索架构、召回与排序算法的演进。 基于微服务架构的转转二手交易平台 “一个帮你赚钱的网站”是转转二手交易平台的定位,主要解决从买买买到卖卖卖的问题。 转转二手交易平台整体架构设计采用微服务架构,于2015年11月12号发布。 ? 图1 转转总体微服务架构图 如图1所示,可以直观的看到整个架构从左到右进行了垂直拆分,又对从上到下进行了水平分层。 模型化方面,是针对召回层和排序层模型的复杂度而言,未来模型越来越复杂,对工程架构带来的挑战也会越大。 演讲人介绍 孙玄,现任转转公司首席架构师/架构算法部负责人,前58集团技术委员会主席,高级系统架构师,“架构之美”公众号作者。

    1.8K20发布于 2018-07-03
  • 来自专栏后端架构

    微服务架构下的工程化Docker

    前言 随着云计算和容器技术的发展,微服务架构已经成为了越来越多企业的首选。微服务架构可以将一个大型应用程序拆分成多个小型服务,每个服务都可以独立部署和扩展。 这种架构可以提高应用程序的可伸缩性、可靠性和可维护性。而Docker则是实现微服务架构的重要技术之一。 在微服务架构下使用Docker可以带来很多好处。 因此,采用工程化的方法来管理和监控微服务应用程序是非常重要的。 解决方案 工程化的方法包括使用自动化工具来构建、测试和部署微服务应用程序、使用集中式日志系统来收集和分析日志信息、使用监控工具来监测容器的健康状况、使用容器编排工具来管理容器之间的通信等等。 总之,在微服务架构下使用Docker进行应用程序开发需要采用工程化的方法来管理和监控微服务应用程序。这些方法包括使用自动化工具、集中式日志系统、监控工具和容器编排工具等等。

    38330编辑于 2023-10-31
  • 来自专栏iOS开发大全

    微服务架构下的工程化Docker

    不要偷走我小火车哦~ ~ ~ 微服务架构下的工程化Docker ⭐本文介绍⭐ 在当今互联网时代,为了快速迭代和灵活部署应用程序,越来越多的企业选择使用微服务架构。 本文将探讨如何在微服务架构下使用Docker进行应用程序开发,并介绍如何采用工程化的方法来管理和监控这些微服务应用程序。 ---- [TOC] 一、为什么选择微服务架构? 在传统的单体应用架构中,所有功能模块都集中在一个代码库中,一旦其中一个模块出现问题,整个应用都会受到影响。而在微服务架构中,每个功能模块都被拆分成独立的小型服务,它们可以独立开发、测试和部署。 运行微服务容器 执行以下命令来运行微服务容器: $ docker run -d -p 8080:8080 my-microservice 四、工程化管理和监控微服务应用程序 Docker Compose 通过采用工程化的方法来管理和监控微服务应用程序,我们可以更好地管理和维护这些应用程序,并及时发现和解决问题。当然,在实际应用中,还有很多其他方面需要考虑,本文只是给出了一个简单的示例。

    34530编辑于 2023-10-16
领券