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

    工程架构持续演进

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

    30320编辑于 2023-07-31
  • 来自专栏DDD

    架构架构2

    最近闲了,看了几次李运华关于架构的视频,不禁再次反问架构是什么?架构师的职责是什么? 对于这两个问题,之前也总结过一篇《架构架构师》[1],再结合他的专栏文章和视频,补充一下 架构 李运华给架构的定义:软件架构指软件系统的顶层结构,缩句成架构指结构,而结构的修饰语蕴含了太多东西,抽象不够直白 ,得行多少路,抽象了多少回,才有的认知,所以我也不打算靠记忆了,不过对于模块和组件的认知很独到 虽然架构定义众家纷说,但对于如何描述架构还是有共识的,那就是“4+1视图”,在《架构架构师》[2]也描述了 架构师在国内,大多时候可能不是个岗位,而是个角色。大厂还有架构师一说,小厂难得有专职架构师,所以架构师职能还得多多取经大牛,学习一下大牛 架构师能力模型 ? 这个过程,回顾最近几个系统设计的确是这样的 1.业务方提出一个业务,刚开始可能只是个目标,轮廓2.与业务方、产品不停的交流,交流得越深入,需求就越明确3.理解业务并明确需求后,划分模块,不管是传统画ER

    56210发布于 2021-03-23
  • 来自专栏喔家ArchiSelf

    架构软件工程的未来

    了解不同的软件工程生态系统、确定未来需求和确定实现变更的方法需要一系列活动,如图2所示。 附录A提供了与软件工程界合作举办的研讨会的更多信息,包括与国防高级研究计划局(DARPA)合办的研讨会。 2. 例如,考虑一个简化的安全气囊系统,它需要证明三个逻辑行为的声明:(1)存在成人乘客,(2)发生碰撞,(3)当且仅当(1)和(2)时触发充气。 建议2——大规模开发软件进化和再保证的理论和实践 软件工程研究社区应该开发一种理论和相关实践,以重新确保不断发展的软件系统。这项研究的重点是保证论据,它应该是一个与系统架构同等重要的软件工程工件。 这种感觉可以导致两种不同的方式来考虑软件,因此也就是软件工程:(1)让它保持无形,并将其视为理所当然;或(2)培养,关心,保护并改进它。

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

    推荐工程系统架构演进

    前言 2. 到家推荐工程框架- 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业务场景中共性的部分独立,并能独立设置相关属性,做到业务之间代码共享且属性设置隔离 流程设计,如图 服务端 服务端基础架构如图主要含两大块:对外服务接口和配置管理。

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

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

    2、软件构件是一个独立可部署的软件单元,与程序设计中的对象不同,构件()。 A、是一个实例单元,具有唯一的标志 B、可以利用容器管理自身对外的可见状态 C、利用工厂方法(如构造函数)来创建自己的实例 D、之间可以共享一个类元素 答案:C 解析: 构架特性: 1)独立部署 2)作为第三方组装单元 2)可能具有转状态,外部不可见 3)封装自己状态和行为。 3、软件确定测试也称为软件有效性测试,主要验证()。 5、基于软件架构设计ABSD,强调 商业、质量和功能 需求的组合驱动软件架构设计。它强调 视图、视角 描述软件架构,采用用例和质量场景描述需求。用例描述功能需求,质量场景描述质量需求。 A、逆向工程 B、系统改进 C、设计恢复 D、再工程 答案:A A、逆向工程 B、系统改进 C、设计恢复 D、再工程 答案:D

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

    推荐工程系统架构演进

    前言 2. 到家推荐工程框架- 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业务场景中共性的部分独立,并能独立设置相关属性,做到业务之间代码共享且属性设置隔离 流程设计,如图 服务端 服务端基础架构如图主要含两大块:对外服务接口和配置管理。

    1K20编辑于 2022-03-15
  • 来自专栏方丈的寺院

    可落地的DDD的(2)-为什么说MVC工程架构已经过时

    这里借鉴DDD思想提出一种新的工程结构。 mvc的问题 通常一个前后端分离的系统,后端工程系统结构图通常下面这样 ? 1. 四层 controller/service/manager/mapper 2. 不可以同级调用 3. 资源服务层repository是面向DB编程 2. service层是面向前端页面编程。 也就是说,对于某一块的业务,他没有将逻辑抽象到一起,他只是将一次request按照纵向切分了。 DDD的工程架构 那如何运用DDD的思想进行改造呢核心思想:封装领域内的逻辑,统一对外暴露的入口,防止业务逻辑泄露。 ? DDD工程的演进 DDD工程的演进也就是服务的拆分了,放到下期讲。

    1.7K20发布于 2019-08-05
  • 来自专栏ops技术分享

    Angular 2 架构(上)

    Angular 2 应用程序应用主要由以下 8 个部分组成: 1、模块 (Modules) 2、组件 (Components) 3、模板 (Templates) 4、元数据 (Metadata) 5、数据绑定 实例 @Component({ selector : 'mylist', template : '<h2>菜鸟教程</h2>' directives : [ComponentDetails

    2.2K10发布于 2021-07-26
  • 来自专栏ops技术分享

    Angular 2 架构(下)

    ---- 服务(Services) Angular2中的服务是封装了某一特定功能,并且可以通过注入的方式供他人使用的独立模块。 服务分为很多种,包括:值、函数,以及应用所需的特性。

    3.2K20发布于 2021-07-26
  • 来自专栏charlieroro

    Cilium架构 (Cilium 2)

    Cilium架构 译自:http://docs.cilium.io/en/stable/architecture/ 本文档描述了Cilium的架构

    2.5K21发布于 2020-04-24
  • 来自专栏java学习java

    MySQL逻辑架构2

    缓冲池的预读特性: 2. 查询缓存 那么什么是查询缓存呢? 查询缓存是提前把 查询结果缓存 起来,这样下次不需要执行就可以直接拿到结果。 set global innodb_buffer_pool_size = 268435456; 3.4 多个Buffer Pool实例  innodb_buffer_pool_instances = 2 这样就表明我们要创建2个 Buffer Pool 实例。

    61820编辑于 2022-11-15
  • 来自专栏云云众生s

    使用 Kubernetes 精简平台架构工程

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

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

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

    01、老旧的工程架构让业务开发走得越来越慢 需要治理的地方在哪里,只有弄清楚病症才能够有效对症下药,我们通过 review 开发全流程,发现问题主要是这几个方向: 多 npm 包手动发布效率低下且不安全 难点在于需要关心包之间的依赖关系,比如这是实际业务开发中的一个很常见的一个依赖关系: 在以前的架构中,包之间依赖都是直接写版本,然后从源中下载,我们修改 A 的代码,需要进行构建,发布,然后再更新 A 与改造前的流程对比,开发同学需要关心的事情从 16 个节点降低到了 2 个! 2. 检查很容易有误差。 基本上没有什么所谓自研工具,一方面是人力所限,另一方面就是我认同所有的代码本质都是技术债,都是需要维护成本的,所以我的理念就是尽量基于开源的代码,使用社区先进的工具,用尽量少的代码实现我们的目的,从而降低系统的复杂度,工程化的代码不应该是自研的黑盒

    1.4K21编辑于 2024-07-03
  • Llama 2提示工程完全指南

    Llama 2提示工程指南提示大语言模型如Llama 2既是一门艺术也是一门科学。 Llama 2 70B是最聪明的Llama 2变体。用于对话、逻辑、事实问题、编码等。聊天变体与基础变体某机构为Llama 2提供了两组权重:聊天和基础。聊天模型是在对话上微调的基础模型。 })Llama 2比ChatGPT更好的地方是什么? 在某机构的Llama 2研究论文中,作者让Llama 2 70b与ChatGPT(大概是gpt-3.5-turbo)对抗,并要求人类注释者选择他们更喜欢的响应。 热羊驼从不说同样的话"——未知告诉Llama 2它可以使用的工具。要求Llama 2逐步思考探索!让我知道您对Llama 2喜欢和不喜欢的地方

    16210编辑于 2025-10-24
  • 来自专栏学习与分享

    软件工程之编码(2

    结语 编码是软件工程中不可或缺的一环,良好的编码实践直接影响着整个项目的质量和维护成本。 希望本文能够为广大开发者在软件工程中的编码实践提供一些有益的启示。

    45010编辑于 2024-02-21
  • 来自专栏学习笔记持续记录中...

    应用的架构演变(2

    应用的架构演变图 ? 上图描述了从单一应用架构-->垂直应用架构-->分布式服务架构-->流动计算架构,应用的发展演变过程 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 ,降低了维护和部署的难度,团队各司其职更易管理性能扩展也更方便,更有针对性 缺点: 每个应用的完整性,比如页面的修改都要重新部署,没有做到界面+业务逻辑的实现分离 2.每个应用无法做到完全的独立,比如订单可能要用到用户的信息 分布式服务架构图 分布式服务架构拆分不同的功能业务,并且不同的功能页面又将界面与业务逻辑分离,业务逻辑和界面是部署到不同服务器,不同的服务器之间的服务调用通过RPC(远程过程调用)调用(同一台服务器是简称件通信 流动计算架构图 流动计算架构引入调度中心,维护注册中心的所有服务调用关系,实时管理服务集群,根据不同的服务的访问请求量调整服务器数量,并且根据相同服务不同服务器请求的数量调整下次访问哪台服务器处理请求,

    1.1K20发布于 2020-03-17
  • 来自专栏大数据进阶

    flink系列(2)-基础架构

    上一篇从宏观上说了一些基础组件,这一篇,我们来说一下flink架构中涉及的一些组件 ? 和大多数的分布式系统一样,flink也是分层的,每一层所包含的组件都提供了抽象接口,用于服务于上层组件。 Deploy, core,APIS & Libraries Deploy: 该层主要涉及了Flink的部署模式,Flink支持多种部署模式:本地、集群(Standalone/YARN)、云(GCE/EC2

    51630发布于 2019-09-17
  • 来自专栏博文视点Broadview

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

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

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

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

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

    48110编辑于 2023-12-06
  • 来自专栏喔家ArchiSelf

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

    【引言】《架构软件工程的未来》一文共有近5万字,很多朋友反映阅读耗费的时间较多,导致很多人没有耐心读完,特推出4000字精要版。 1. 2. 调查结果反映了新的学习、挑战和研究需求 不出所料,本研究调查指出,软件工程研究是一个高度动态、快速发展的领域,技术可以迅速崛起并发展成为现代生活基础设施的组成部分。 为了实现这一愿景,我们预计未来系统工程需要新的开发和架构范例。 我们的研究有助于为未来系统的软件工程提供新的研究领域。 该研究领域的目标是创建方法和工具,以规范和实施组合规则,允许(1)创建所需的行为(功能和质量属性)和(2)保证这些行为。 该研究领域的重点是探索现有的软件工程能够可靠地支持人工智能系统的开发,以及识别和增强软件工程技术,用于规范、设计、架构、分析、部署和维护具有人工智能组件的系统。

    51650编辑于 2022-12-03
领券