架构 订阅
架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。架构描述语言(ADL)用于描述软件的体系架构。现在已有多种架构描述语言,如Wright(由卡内基梅隆大学开发),Acme(由卡内基梅隆大学开发),C2(由UCI开发),Darwin(由伦敦帝国学院开发)。ADL的基本构成包括组件、连接器和配置。 [1] 展开全文
架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。架构描述语言(ADL)用于描述软件的体系架构。现在已有多种架构描述语言,如Wright(由卡内基梅隆大学开发),Acme(由卡内基梅隆大学开发),C2(由UCI开发),Darwin(由伦敦帝国学院开发)。ADL的基本构成包括组件、连接器和配置。 [1]
信息
外文名
Software architecture
别    称
软件架构
中文名
架构
架构特性
架构是对存储在Active Directory中的对象类别和属性的描述。对于每一个对象类别来说,该架构定义了对象类必须具有的属性,它也可以有附加的属性,并且该对象可以是它的父对象。可以动态更新的Active Directory 架构。应用程序可以使用新的属性和类扩展该架构,并能立刻使用该扩展。通过在Active Directory 中创建或修改存储在 Active Directory 中的架构对象来完成架构的更新。与Active Directory 中的所有对象一样,架构对象能访问控制列表,因此只有授权的用户才可以更改架构。
收起全文
精华内容
参与话题
问答
  • 一、微服务架构实施的前提 二、微服务实施的三大模式 三、实施微服务架构的优势 (一)、六大技术优势 (二)、业务与组织优势 四、实施微服务面临的挑战 (一)、技术架构的挑战 (二)、研发过程的挑战 ...

    目录

    一、微服务架构实施的前提

    二、微服务实施的三大模式

    三、实施微服务架构的优势

    (一)、六大技术优势

    (二)、业务与组织优势

    四、实施微服务面临的挑战

    (一)、技术架构的挑战

    (二)、研发过程的挑战

    参考书籍、文献和资料:


    一、微服务架构实施的前提

    如图,Martin Fowler结石的生产率和复复杂度的关系。可以看出:

    1.当复杂度较小时,采用单块系统的生产率更高,微服务架构反而可能降低生产率。

    2.当复杂度达到一定规模时,无论单块系统还是微服务架构都会降低生产率,但是单块系统会面临急剧下降的情况,而微服务架构相对平稳。

    3.我们发现有一个明显的拐点存在,但是并没有量化这个拐点的具体大小,也就是说系统或代码的规模达到具体多大适合进行微服务的拆分,这个需要各个团队因地制宜。

    4.只有当出现这个拐点时对系统进行微服务化的拆分才是合适的方案,服务的合理拆分是实施微服务架构的一大前提。

    5.微服务的实施需要基础设施自动化,这和服务规模有关,从开发之后的构建、测试、部署都需要高度自动化的环境来支撑才能有效降低边际成本。

    二、微服务实施的三大模式

    1.典型模式:从一个单块系统开始逐步转变到多个维度的微服务架构。

    2.从无到有的实施,但是小系统没有必要直接采用微服务架构。

    3.混合式,微服务架构很容易与现有系统并存,微服务与遗留系统的易整合性也是采用微服务的一个主要原因。

    三、实施微服务架构的优势

    基本优势可如图分析:                                   

    实际例子举例,如图:

    (一)、六大技术优势

    1.组件化方案:高内聚,低耦合;

    2.技术自由度:每个微服务高度独立,可以采用适合自身开发团队和技术体系的工具和框架来实现某个微服务;

    3.可扩展性:单个微服务在保证通信方式不变的情况下,对其内部功能和技术的改变不会对外部依赖它的服务产生任何影响;

    4.可伸缩性:注意可以伸缩的前提是对系统有合理的划分,高扩展往往能够带来高可伸缩性;

    5.有效应对遗留系统:微服务时改造遗留系统的强有力武器,只要可以获得遗留系统的暴露接口,微服务架构就能与之进行通信并完成功能整合。

    6.持续可交付:简单、可重复流程确保软件发布过程的可靠性。

    (二)、业务与组织优势

    康威定律,组织形式等同于系统设计,直白的说就是,你想要什么样的系统就搭建什么样的团队。

    举例:原有的功能团队-----------------微服务架构的自治性组织文化(大系统变为小系统、小产品)

    1.消除过程浪费

    可采用产品开发周期与成本之间的关系开分析:明确的边界有助于减少团队之间的扯皮现象,提升开发效率。

    2.快速产品开发

    通过技术创新缩短同行产品开发周期,具体分析如图:

    四、实施微服务面临的挑战

    (一)、技术架构的挑战

    1.去中心化与平衡:去中心化的思想意味着微服务之间不需要共享技术,然而缺少通用技术体系同样会加剧系统的复杂度,当从统一发布和运维等角度去看待整体系统时,这种技术复杂度可能会是一个问题,需要进行平衡。

    2.服务版本控制:提倡为每个微服务建立版本并根据业务迭代更新版本,那么需要考虑在多版本更新频率很高时,应充分思考如何正确管理服务版本。

    (二)、研发过程的挑战

    1.需求的边界:如何确定业务功能的粒度、如何把非功能性需求分解到各个微服务中、如何从系统整体上把握需求的优先级等;

    2.引入变化:当微服务架构被引入时,依旧需要做很多事情,因为我们所提到的各种技术、架构和过程的挑战需要我们跟踪和协调。

     

    参考书籍、文献和资料:

    【1】郑天民. 微服务设计原理与架构. 北京:人民邮电出版社,2018.

    【2】Sam Newman. 微服务设计[M]. 崔力强,张骏译. 北京:人民邮电出版社,2016.

    【3】 MartinLAbbott, MichaelT.Fisher. 架构即未来:现代企业可扩展的Web架构、流程和组织[M]. 陈斌译. 北京:机械工业出版社,2016.

    展开全文
  • 二、微服务架构四大特点和三大切入点   三、微服务与现有架构体系的对比 1.微服务架构与SOA   2.微服务架构与ESB       3.微服务架构对比SOA 两者的主要差异如下: 服务拆分粒度:SOA首先要解决的是...

    一、微服务基本概念:大小决定高内聚 + 交互决定低耦合  

                             

     

    二、微服务架构四大特点和三大切入点

     

    三、微服务与现有架构体系的对比

    1.微服务架构与SOA

     

    2.微服务架构与ESB

     

     

     

    3.微服务架构对比SOA

    两者的主要差异如下:

    • 服务拆分粒度:SOA首先要解决的是异构系统应用的服务化;微服务强调的是服务拆分尽可能小,最好是独立的原子服务。
    • 服务依赖:传统的SOA服务,由于需要重用已有的资产,存在大量的服务间依赖;微服务的设计理念是服务自治、功能单一独立,避免依赖其他服务产生耦合,耦合会带来更高的复杂度。
    • 服务规模:传统SOA服务粒度比较大,多数会采用将多个服务合并打成war包的方案,因此服务实例数比较有限;微服务强调尽可能拆分,同时很多服务会独立部署,这将导致服务规模急剧膨胀,对服务治理和运维带来新的挑战。
    • 架构差异:微服务化之后,服务数量的激增会引起架构质量属性的变化,例如企业集成总线ESB逐渐被P2P的虚拟总线替代;为了保证高性能、低时延,需要高性能的分布式服务框架保证微服务架构的实施。
    • 服务治理:传统基于SOA Governance的静态治理转型为服务运行态微治理、实时生效。
    • 敏捷交付:服务由小研发团队负责微服务设计、开发、测试、部署、线上治理、灰度发布和下线,运维整个生命周期支撑,实现真正的DevOps。

    总结:量变引起质变,这就是微服务架构和SOA服务化架构的最大差异。

    展开全文
  • 构建微服务架构的系统方法主要包括四个方面,具体内容如图所示。 一、服务模型 服务模型主要由两部分组成:服务建模方法+服务拆分和集成。 建模要明确服务的类别以及服务与业务之间的关系,从而明确服务的概念...

    目录

    一、服务模型

    二、实现技术

    三、基础设施

    四、研发过程

    参考书籍、文献和资料:


    构建微服务架构的系统方法主要包括四个方面,具体内容如图所示。

    一、服务模型

    服务模型主要由两部分组成:服务建模方法+服务拆分和集成。

    建模要明确服务的类别以及服务与业务之间的关系,从而明确服务的概念模型并给出服务的统一变现形式,同时,也需要借助诸如领域驱动设计中的界限上下文和领域事件等技术合理划分微服务的边界,剥离微服务与数据之间的耦合。

    服务拆分需要考虑拆分的维度、策略并管理微服务之间的依赖关系、数据以及边界。

    服务的集成主要考虑在轻量级服务通信的要求下所应当采用的技术实现方式。

    这个放于后面具体博客中讲解。

     

    二、实现技术

    构建微服务架构的重点部分就是对其实现技术的考量,微服务本身具有分布式架构的基本特征,在基础组件上要充分考虑服务通信+事件驱动+负载均衡+服务路由+API网关+配置管理等内容的实现,在关键要素上要落实服务治理+数据一致性+服务可靠性等重要方面,同时在实现技术上要充分利用Spring Boot、Spring Cloud等技术选型。

    这个放于后面具体博客中讲解。

     

    三、基础设施

    作为微服务架构的管理体系,主要包括服务测试、服务交付与部署、服务监控和服务安全四个方面。

    这个放于后面具体博客中讲解。

     

    四、研发过程

    主要涉及关于业务结构、组织架构和研发文化等方面的内容,具体开发团队整体研发过程主要包括微服务架构转型过程与方法+微服务架构与研发过程转变两部分。

    这个放于后面具体博客中讲解。

     

    参考书籍、文献和资料:

    【1】郑天民. 微服务设计原理与架构. 北京:人民邮电出版社,2018.

    展开全文
  • 架构

    万次阅读 2013-09-10 15:40:01
    架构架构是被CIO界用烂的词(这帮一瓶子醋不满半瓶子醋晃悠还爱指点江山的家伙)。我来说说我们做企业应用软件的人眼中的架构。一、业务模型架构从人与流程的线索来梳理:按企业组织、岗位、职责、流程、标准输入...
    架构


    架构是被CIO界用烂的词(这帮一瓶子醋不满半瓶子醋晃悠还爱指点江山的家伙)。我来说说我们做企业应用软件的人眼中的架构。


    一、业务模型架构


    流程管理方法论:按企业组织、岗位、职责、流程、标准输入表单和输出查询\报表、绩效考核指标


    战略地图\平衡计分卡方法论:按战略管控、计划PDCA管控、财务管控、经营考核指标体系


    二、应用架构


    1、部署架构:物理部署架构、软件逻辑部署架构


    2、功能模型和业务模型的映射关系


    3、功能分类与功能之间的关系:收银计费交易类功能、过程记录类功能、过程管控类功能、查询统计类功能


    4、本次版本的功能与过去版本的功能之间的关系、分离、耦合连接



    三、集成架构


    1、集成门户


    2、组织集成、权限集成


    3、主数据集成、商业智能数据集成


    4、业务流程集成、审批流程集成


    5、消息集成


    6、知识管理


    四、服务工具集


    1、建模工具集:如

    组织建模工具、权限管理工具

    功能建模工具、业务基础参数配置工具

    UI建模工具、计算公式规则工具、编号规则配置工具

    流程建模工具

    报表建模工具

    预警规则建模工具、消息模板


    2、实施工具集:如

    高性能、高安全、高灾备、高扩展安装部署工具

    初始化工具

    主数据清洗工具、导入工具、数据质量检查工具

    切换上线工具

    3、服务工具集:如

    性能监控、安全监控、配置变更监控、日志异常监控

    性能检查、安全检查、性能优化、

    数据检查、数据修复、数据备份、数据同步、数据复制、数据恢复

    系统迁移、系统扩展、系统升级



    五、基础技术引擎与类库框架


    1、安全、路由、字符集、缓存、日志、异常、事务、并发、复制同步、sharding、查询分离


    六、代码架构

    1、功能与代码的映射关系


    2、代码层与层之间的调用关系

    3、功能与功能之间代码接口、系统与系统之间代码接口


    4、产品代码和项目代码的分离、耦合


    5、本次版本的产品代码和过去版本的产品代码的分离、耦合



    七、数据架构


    1、业务实体关系、业务实体与数据库概念设计映射


    2、数据库概念设计与特定数据存储映射
    展开全文
  • 4G网络架构

    万次阅读 2016-05-21 20:00:15
    1,4G是第四代移动通信技术,该技术包括TD-LTE和FDD-LTE两种制式,严格意义上来讲LTE只是3.9G,只有升级版的LTE Advanced才满足国际电信联盟对4G的要求。 4G是集3G与WLAN于一体,并能够快速传输数据、高质量、...
  • 一、架构的轮回理论 二、服务拆分的维度:业务与数据的AKF扩展立方体分析 X轴扩展讲解: Y轴扩展讲解: Z轴扩展讲解: 总结: 三、服务拆分的两大策略:绞杀者模式+修缮者模式 1.绞杀者模式策略 2.修缮者模式...
  • 一、微服务架构实现需求 二、微服务架构实现技术选型:参考标准的两个维度+微服务实现框架对比 (一)技术选型的两个参考标准 1.核心组件完备性 2.关键要素实现难度 (二)微服务实现框架对比 Spring Boot/...
  • Saas系统架构的思考,多租户Saas架构设计分析

    万次阅读 多人点赞 2019-06-14 13:39:35
    ToBSaas系统最近几年都很火。...最近一年,有幸架构一个Crm saas 系统,上线了几个月来,各方面都比满意。整个系统创建过程,踩了很多坑,收获也比较多。总结一下Saas系统架构一些特点: Saas系统分...
  • 领域驱动实践总结二:架构分析与代码设计 领域驱动设计DDD是一种设计思想,它可以同时指导中台业务建模和微服务设计(中台本质是业务模型,微服务是业务模型的系统落地),领域驱动设计强调领域模型和微服务设计的一体...
  • 微信技术总监分享架构设计高清完整PDF版

    万次下载 热门讨论 2012-05-15 09:17:26
    在技术架构上,微信是如何做到的?日前,在腾讯大讲堂在中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。
  • PHP深入理解-PHP架构布局

    千次阅读 2018-12-16 15:40:10
    本文基于《PHP 内核剖析》与 《PHP7底层设计与源码实现》所记笔记。 对PHP内核的深入理解有助于我们对PHP的整体认识,对于业务层初期发展我们... 执行流程 解析为Token将语法转换为抽象语法树将语法树转换OpcodesS...
  • 各种系统架构图与详细说明

    万次阅读 多人点赞 2018-09-15 17:49:59
    共享平台逻辑架构设计 如上图所示为本次共享资源平台逻辑架构图,上图整体展现说明包括以下几个方面: 1 应用系统建设 本次项目的一项重点就是实现原有应用系统的全面升级以及新的应用系统的开发,从而建立...
  • java架构师学习路线图

    千次阅读 2019-04-04 14:22:22
    一个Java程序员不想要成为一个Java “old”程序员,唯一的出路就是学习Java技术的脚步永不停滞,让自己成为一个Java架构师,成为一个公司真正的技术大咖,平时上班泡泡茶、喝喝咖啡,度过了愉快潇洒的一天,每当所有...
  • android底层开发-android基础架构

    千次阅读 2015-10-22 20:33:55
    android architecture在安卓中,最经典的架构就是分四层,分别是application、framework、libraries、kernel四层,通过这四层将android的整个架构都丰满起来其架构图如下android 系统组成 Process FW: android 系统...
  • Nginx 原理和架构

    万次阅读 多人点赞 2019-11-09 17:13:09
    Nginx 以其高性能,稳定性,丰富...Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
  • 架构设计(1)-谈谈架构

    万次阅读 多人点赞 2017-10-17 11:18:15
    1、什么是架构架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。 此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这...
  • if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
  • Android系统架构概述PPT

    千次下载 热门讨论 2013-10-23 01:18:24
    Android系统 = Linux...这个PPT从一个通用的应用程序架构开始,概述Android系统的专用驱动、HAL、关键服务、Dalvik、窗口机制和四大组件等。这个PPT 作为前面第1个PPT的延续,帮助进一步了解Android系统的具体实现。
  •   参考书籍、文献和资料: 【1】郑天民. 微服务设计原理与架构. 北京:人民邮电出版社,2018.
  • 架构:一张电商架构的大图

    万次阅读 多人点赞 2020-04-14 13:26:20
    电商算是熟透了的系统。如果要画一个大图把一家公司相关的技术体系圈进去,应该怎么搞? 这张图应该包含哪几块? 从角色上看,有开发、测试、运维三大块。开发分成四层:IaaS、PaaS、SaaS、DaaS层。...
  • 深入理解B/S与C/S架构

    万次阅读 多人点赞 2018-07-24 16:44:19
    深入理解B/S与C/S架构 阅读目录: 什么是C/S架构 什么是B/S架构 B/S架构的几种形式 发展前景 一、什么是C/S架构 C/S架构是第一种比较早的软件架构,主要用于局域网内。也叫 客户机/服务器...
  • Hotspot虚拟机的两种架构模型

    万次阅读 2020-02-26 22:51:06
    市面上的java虚拟机有很多种,整体来说分两种架构特点:栈、寄存器 一、基于栈架构的特点(市面上常见的java虚拟机大多的架构方式) 设计实现更简单 不需要考虑寄存器分配问题(使用零地址指令方式分配) 指令集...
  • 1.源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美、提高核心竞争力。 帮助大家寻找分析源码的...基于传统架构到分布式架构演变过程所带来的技术变革进行全面深入讲解...
  • 应用架构、业务架构、技术架构和业务流程图详解

    万次阅读 多人点赞 2018-10-09 18:48:32
    应用架构 应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次: 企业级的应用架构:企业层面的应用架构起到了统一规划、承上启下的作用,向上承接了企业...
  • Android应用程序UI架构 高清PTT

    千次下载 热门讨论 2013-10-23 01:23:45
    Android系统采用一种称为Surface的UI架构为应用程序提供用户界面。在Android应用程序中,每一个Activity组件都关联有一个或者若干个窗口,每一个窗口都对应有一个Surface。有了这个Surface之后,应用程序就可以在...
  • 支付产品模块是按照支付场景来为业务方提供支付服务。这个模块一般位于支付网关之后,支付渠道之前。 它根据支付能力将不同的支付渠道封装成统一的接口,通过支付网关来对外提供服务...支付产品在支付系统参考架构图...
  • SOA架构和微服务架构的区别

    万次阅读 多人点赞 2018-06-19 10:25:47
    1.SOA架构和微服务架构的区别首先SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件。 1.SOA(Service Oriented Architecture)“面向...
  • B/S架构及其运行原理

    万次阅读 多人点赞 2018-03-23 22:31:19
    目录 一. B/S的概念 二. B/S工作原理 三....四....五....一.... B/S(Brower/Server,浏览器/服务器)模式又称B/S结构,是Web兴起后的一种网络结构模式。... 这种模式统一了客户端,将系统功能实现的核心部分...
  • 什么是架构分隔 单体 单体:是把系统部署到一台服务器上,所有的请求业务都由这台服务器处理 优点:适合小型系统,节省资源 缺点:安全性低,一旦有突发压力, 整个系统都会面临崩溃 分层—隔离效果 分层:分层架构...
  • 同步架构与异步架构 背景 把智能系统比喻成KFC营业厅,处理器是窗口和窗口后面的服务员(把一个窗口当作一个核心),指令集是后面排队的人,窗口是数据吞吐量。 当中午就餐人多的时候,一个窗口肯定忙不过来, 这...

空空如也

1 2 3 4 5 ... 20
收藏数 699,973
精华内容 279,989
关键字:

架构