精华内容
下载资源
问答
  • linux驱动思想架构

    2011-12-08 15:19:47
    主流嵌入式操作系统linux 的驱动实现思想及经典架构
  • 本书详细介绍了隐藏在程序下的思想:程序是思想的载体。思想是程序的灵魂。
  • 我的架构思想 周爱民

    2018-11-23 15:59:27
    本书以系统的认识论作为出发点,全面描述了架构思想、过程、方法。在此基础上,提出并论述了普遍性的架构理论和参考原则。通过全新的观察视角,本书对“架构”以及“架构师角色”提出了新的定义,并主要讨论了形成...
  • 周爱民架构思想

    2018-10-16 10:46:31
    关于架构师的思考,有自己独特的认识,值得一看,主要思想:着眼于高远
  • 周爱民著《我的架构思想》。互联网软件开发架构架构之路如此简单
  • 企业IT架构转型之道:阿里巴巴中台战略思想架构实战.pdf
  • 本篇文章是一个Android应用开发的老程序员写的关于Android应用架构思想分析的详细内容,希望对你有启发。
  • 架构之美 架构思想

    2010-02-02 12:33:50
    一本很精彩的书,书中详述了各种架构思想 值得一看
  • 嵌入式驱动培训_嵌入式操作系统的驱动思想架构.rar PDF文件
  • 此外,本书在“架构意图”方面的讨论,既直指架构思想的本质,又为架构决策与实施找到了依据,颇为难得。 最后,本书在附录中提供了一个超越软件架构的案例,尝试解决作者早期提出的EHM模型(软件工程中的层状模型...
  • 架构思想--基础架构

    千次阅读 2019-05-25 23:18:05
    最近研究一些架构思想,看看李云华老师的专栏(从0开始学架构),做些笔记有些个人的思考。 一.基础架构 1.1简介 架构设计面临复杂度:高可用,可扩展,低成本,安全,规模。 架构设计主要目的为了解决软件系统...

      最近研究一些架构思想,看看李云华老师的专栏(从0开始学架构),做些笔记有些个人的思考。

    一.基础架构

    1.1简介

    架构设计面临复杂度:高可用,可扩展,低成本,安全,规模。

    架构设计主要目的为了解决软件系统复杂度带来的问题。

    1.2高性能

    1.2.1简介

    水平维度和垂直维度分析。

    单台计算机

      升级软、硬能力实现性能提升。

    • 增加内存减少I/O操作。
    • 更换为固态硬盘(SSD)提升I/O访问速度。
    • 使用RAID增加 I/O吞吐能力。
    • 置换服务器获得更多的处理器或分配更多的虚拟核。
    • 升级网络接口或增加网络接口。

    多台计算机

    1.利用合理的任务分配与任务分解实现性能的提升。

    2.主要针对集群系统

    • 功能分解:基于功能将系统分解为更小的子系统。
    • 多实例副本:同一组件重复部署到多台不同的服务器。
    • 数据分割:在每台机器上都只部署一部分数据。

    多进程多线程虽然让多任务并行处理的性能大大提升,本质还是分时系统,并不能做到时间上真正的并行,目前解决方案:SMP(对称多处理器结构),NUMA(非一致存储结构),MPP(海量并行处理结构)。

    SMP:系统中所有资源共享(cpu,内存,I/O),这种原因扩展能力有限。

    NUMA:具备多个cpu模块,每个cpu模块由多个cpu(4)组成,并且具有独立的本地内存,I/O槽口等。由于其节点之间可以通过互联模块(Crossbar Switch)进行·连接和信息交互,因此每个CPU可以访问整个系统内存(NUMA系统与MPP系统的重要差别)。显然,访问本地内存速度将远远高于访问远地内存(系统内其它节点的内存)的速度,非一致存储访问NUMA的由来。

    MPP:在MPP系统中,每个SMP节点也可以运行自己的操作系统、数据库等。但和NUMA不同的是,它不存在异地内存访问的问题。换言之,每个节点内的CPU不能访问另一个节点的内存。节点之间的信息交互是通过节点互联网络实现的,这个过程一般称为数据重分配(Data Redistribution)。

    1.3高可用

    本质:通过冗余来实现高可用

    核心思想:高可用主要技术手段是服务于数据的冗余备份和失效转移。

    高性能增加机器目的在于“扩展”处理能力;高可用增加机器的目的在于“冗余”的处理的单元。

    计算高可用架构同存储高可用架构,都需要考虑故障发生时的分发,但是存储高可用架构,还需要考虑如何保证数据一致性,也就是说有状态的,所以复杂度更高。而无状态计算高可用,机器之间不需交互,只需要考虑分发和重试机制。

    1.3.1高可用状态决策

    基础:状态决策,即系统需要能够判断当前的状态。

    矛盾:通过冗余来实现的高可用系统,状态决策本质上就不可能做完全正确。

    独裁式:

    协商式:主备互相通信

    民主式:选举,例如zookeeper(半数选举为主)。

    1.4可扩展

    两个基本条件:正确预测变化,完美封装变化。

    预测变化复杂性:

    • 不能每个设计点考虑可扩展性。
    • 不能完全不考虑可扩展性。
    • 所有的预测都存在出错的可能性。

    第一种应对变化的常见方案:

    将“变化”封装在一个“变化层”,将不变的部分封装在一个独立的“稳定层”。

    复杂性

    • 系统需要拆分出变化层和稳定层。
    • 需要设计变化层和稳定层之间的接口。

    第二种应对变化的方案:提炼一个“抽象层”和一个“实现层”

    抽象层是稳定的。

    实现层可以根据具体业务需要定制开发。

    典型的实践就是设计模式和规则引擎,比如装饰模型。

    装饰模型:

    /**
     * 形状
     *   
     */
    public interface Shape {
        void draw();
    }
    
    /**
     * 圈
     * 
     * 
     */
    public class Circle implements Shape {
        @Override
        public void draw() {
            System.out.println("Circle draw");
        }
    }
    
    /**
     * 长方形
     *
     *
     */
    public class Rectangle implements Shape {
        @Override
        public void draw() {
            System.out.println("Rectangle draw");
        }
    }
    
    /**
     * 实体装饰类
     * 
     * 
     */
    public abstract class ShapeDecorator implements Shape {
        protected Shape shape;
    
        public ShapeDecorator(Shape shape) {
            this.shape = shape;
        }
    
        @Override
        public void draw() {
            shape.draw();
        }
    }
    
    
    /**
     * RedShapeDecorator 来装饰Shape对象
     * 
     * 
     */
    public class RedShapeDecorator extends ShapeDecorator {
        public RedShapeDecorator(Shape shape) {
            super(shape);
        }
    
        @Override
        public void draw() {
            shape.draw();
            setRedBorder(shape);
        }
    
        private void setRedBorder(Shape decoratedShape){
            System.out.println("Border Color: Red");
        }
    }
    /**
     * 入口
     */
    public class DecoratorPatternDemo {
        public static void main(String[] args) {
            Shape circle = new Circle();
    
            Shape redCircle = new RedShapeDecorator(new Circle());
    
    
            Shape redRectangle = new RedShapeDecorator(new Rectangle());
    
            System.out.println("Circle with normal border");
            circle.draw();
    
            System.out.println("\nCircle of red border");
            redCircle.draw();
    
            System.out.println("\nRectangle of red border");
            redRectangle.draw();
        }
    }

    1.5低成本

    • 引用新技术和创造新技术,才能达到低成本目标。
    • Nosql的出现是为了解决关系型数据库无法应对高并发访问带来的访问压力。
    • (Sphinx、Elasticsearch、Solr)全文搜索引擎的出现为了解决关系型数据库like搜索的低效问题。
    • hadoop为了解决传统文件系统无法应对海量数据存储和计算的问题。

    1.6安全

    从技术角度,安全分为两类:

    一类是功能上的安全:

    常见的XSS攻击、CSRF攻击、SQL注入、Windows漏洞、密码破解等等,本质上系统实现由漏洞。

    一类是架构上的安全:

    防火墙最基本功能就是隔离网络。

    互联网系统架构更多依靠运营商或者云服务商强大的带宽和流量清洗的能力。

    1.7规模

    规模带来的复杂度的主要原因就是“量变引起质变“。

    1.8架构设计三原则

    合适原则,简单原则,演化原则。

    合适优于先进》演化优于一步到位》简单优于复杂。

    1.9设计备选方案

    而恰恰需要把可能性大的变化点一一罗列出来,分维度打分,维度包括 可能性大小?长期还是短期会变化?如果发生变化,目前的组织和系统要花多大成本适应变化。这些变化正是李老师之前说过的各种复杂度上的变化,比如用户量激增带来的性能要求。此外还包括一个业务功能逻辑上的变化。
    在经过上面分析后往往会给出“上中下”策的设计方案,下策一般考虑的变化少,短视,但迅速,修改小,立竿见影。上策一般看重远期,但成本高很高,也很可能预测不中。
    最后还要分析,如果决定采用下中策,如果预测的变化发生了,系统修改为中上策的代价有多大,有些代价几乎是无穷大的,比如必须中断服务进行升级。如果代价小,那可以放心采用下策或中策。如果答案是否,可上策当前的代价又真的不可接受,那又要返回头重新分析了
    实践发现这个方法挺好用,尤其当有人来咨询架构方案时,往往对给出的结果比较满意。

     

    技术短期被压缩,长期被短视,但我一直本着极客精神,无论公司如何,背后有思考和意识,完成很好的工程。

    展开全文
  • 介绍阿里巴巴在建设共享服务体系时如何进行技术框架选择,构建了哪些重要的技术平台等,此外,还介绍了组织架构和体制如何更好地支持共享服务体系的持续发展。 主要内容分为三大部分: 第一部分介绍阿里巴巴集团中...

    内容简介

    本书从阿里巴巴启动中台战略说起,详细阐述共享服务体系如何给企业的业务发展提供了支持。介绍阿里巴巴在建设共享服务体系时如何进行技术框架选择,构建了哪些重要的技术平台等,此外,还介绍了组织架构和体制如何更好地支持共享服务体系的持续发展。

    主要内容分为三大部分:

    • 第一部分介绍阿里巴巴集团中台战略引起的思考,以及构建业务中台的基础——共享服务体系。
    • 第二部分详细介绍共享服务体系搭建的过程、技术选择、组织架构等,如分布式服务框架的选择、共享服务中心建设原则、数据拆分实现数据库能力线性扩展、异步化与缓存原则、打造数字化运营能力的方案、平台稳定性能力的开发、共享服务中心对内和对外的开放共享等。
    • 第三部分结合两个典型案例,介绍共享服务体系项目落地的过程,以及传统企业进行互联网转型过程中的实践经验。

    编辑推荐

    本书从10年前阿里巴巴为何要启动中台战略说起,详细讲述了惊心动魄的架构转型过程,以及在这个过程中的深度思考和各种实践,包括成功经验,也包括失败教训。

    这是迄今为止首次披露阿里巴巴集团中间件体系最全面系统的资料,这些宝贵资料对所有进行“互联网+”实践的企业和单位都有参考价值,对软件开发人员和架构师也会有所启发。

    作者简介

    钟华(花名:古谦),阿里巴巴中间件首席架构师,15年中间件领域行业经验。对传统企业 IT 建设和互联网架构都有较为深入的理解,有着扎实的理论基础和丰富的实战经验,多次作为总架构师协助大型传统企业打造业务中台项目,为企业实现“互联网+”转型提供了科学的发展方向和强有力的技术支持,项目涉及政府、制造业、金融、交通、媒体等多个领域。

    本书内容

    序言一

    本书讲述了阿里巴巴的技术发展史,同时也是一部互联网技术架构的实践与发展史。

    为一个复杂的、高速发展的业务构建一个技术系统是一个巨大的挑战。阿里巴巴集团主要是以电子商务、支付为业务主体,这类系统都是复杂的商业系统。这个业务又承载于互联网之上,互联网又具有海量的访问请求与数据。这两者的结合,形成了阿里巴巴集团的业务系统的关键特点。

    不同于搜索、社交之类的应用系统,电子商务、支付的业务特性决定了其必须有很高的稳定性与可靠性。用户在使用搜索引擎的时候,哪怕丢失了一半的搜索结果,用户可能都没有觉察。但在电子商应用中,每一笔订单、每一个状态、每一次支付都不能有丝毫差错。与此同时,像双十一这种业务高峰时刻,每秒钟就需要处理十万笔以上的订单。高可用、海量、复杂的业务逻辑交织在一起,是阿里巴巴业务系统的主要挑战。

    阿里巴巴集团为了应对这些挑战,在技术上、组织架构上都进行了广泛的实践。并进一步将此种实践提升至中台这样的概念。

    阿里巴巴集团在很多技术方面进行了不断的探索,如数据库的水平扩展、复杂业务系统的结构化与服务化、大型系统的消息处理、关键业务系统的实时调控等。在数据库层面,阿里巴巴很早就启动了去 IOE 的项目,本质上是想解决大规模数据的线性可扩展问题,包括存储与访问两个方面。为了实现这个目标,发展了一系列的中间件来支撑这种新的架构。

    随着业务的发展,阿里巴巴也面临着复杂业务系统的解耦问题。在互联网行业,需求的迭代速度非常快,通常每周都会有数十个功能更新或增加,并要及时发布。如何保持业务相对隔离可以让工程师大规模并行工作,传统上有很多解决方案,如 SOA、ESB 等,但如何在解耦的同时仍能满足互联网海量访问且具有高性能的要求,阿里巴巴集团对传统技术进行了革新,提出了一系列实用的技术方案。

    系统规模进一步变大之后,需要解决更多、更复杂的问题,比如在全球进行分布式的部署、99.999%以上的高可用、容灾等,这对系统的架构与设计提出了更多的挑战。

    解决了系统的静态架构之外,很快就会发现,像此类复杂的企业级互联网应用需要在运行时可以全程进行动态感知与管理,不仅要有全部的监控能力,更要根据业务流量进行业务的优雅降级,确保系统高可用等。

    我认为本书将阿里巴巴一系列在工程上的实践进行了系统的总结,也为进一步的系统演进积累了很好的经验,打下了坚实的基础。

    阿里巴巴集团 CTO 张建锋(行癫)

    2017年4月于杭州

    序言二

    阿里巴巴电商系统的架构经历了烟囱式架构到分布式架构再到共享式架构的转变,在这个过程中持续推动着大量业务的创新,天猫、聚划算、闲鱼、拍卖、玩兔、淘抢购等应用不断涌现出来,有成功也有失败,因为架构无法决定市场的成功还是失败,但是作为土壤可以不断孵化新的物种。阿里巴巴从2008年开始的架构优化过程其实并没有解决该做什么的问题,但是解决了创新效率的问题。当有人告诉你做一个市场需要100人年的时候,你会犹豫,到底投还是不投;如果告诉你100人月的时候,你会毫不犹豫地投入,所以这时候一个优秀的架构已经超出了效率本身的范畴,而是决定企业成败的关键因素。

    我的感受是,最大的浪费不是重复建设,而是不断重复建设。在早期往往一个新业务的上线除了数据可以被重复使用之外,服务却不能被重复使用。其实服务的重用将比数据重用带来更多好处,数据只是原始生产资料,服务则包含逻辑,是工厂的加工车间,如果加工过程也一样可以复制,将带来生产效率的大幅度提升。

    系统的建设要从生产型模型升级到运营型模型,从版本模型升级到迭代模型。运营型模型最大的优势是所有的积累都被沉淀,而生产型模型会因为10%的差异而重新建设100%的系统。每次都是新的故事、新的逻辑、新的代码,而这些都来自几个人的脑子。运营型模型的逻辑则来自于无数客户、供应商、工程师的的脑子,并经过不断的积累,那么差距就显而易见。

    本书主要介绍了阿里巴巴电商系统架构的演变历史,对各个行业在做企业 IT 架构优化会有很大的帮助。

    阿里巴巴集团中间件技术部研究员蒋江伟(小邪)

    2017年3月于杭州

    前言

    在过去15年的 IT 从业经历中,有很长一段时间我都是以软件服务商的身份参与了企业的 IT 系统建设,对于过去十几年来企业IT的发展有一定的认知和理解,带着对互联网技术的憧憬来到阿里巴巴中间件研发团队,有幸能近距离了解阿里巴巴的业务架构发展模式和业界顶尖的互联网技术。这种略显特殊的工作经历,使我对阿里巴巴的共享服务理念和企业级互联网架构很快能了然于胸,当我把这些内容介绍给越来越多的企业客户时,听到最多的反馈词语就是“启发”。

    这让我逐渐意识到,在当今整个中国社会都处于互联网转型的浪潮中,不管是政府职能单位、业务规模庞大的央企,还是面临最激烈竞争的零售行业都处于一个重要的转折点,这个转折对企业业务模式带来了冲击,当然也给企业的信息中心部门带来了挑战:如何构建 IT 系统架构更好地满足互联网时代下企业业务发展的需要。阿里巴巴的共享服务理念以及企业级互联网架构建设的思路,给这些企业带来了不少新的思路,这也是我最终决定写这本书的最主要原因。

    本书从阿里巴巴启动中台战略说起,详细阐述了共享服务理念给企业业务发展带来的业务价值。接着会分享阿里巴巴在建设共享服务体系时如何进行技术框架的选择,哪些重要的技术平台支撑起了共享服务体系,这也是迄今为止对阿里巴巴集团中间件体系对外最全面系统的介绍。除了技术层面之外,本书还分享了阿里巴巴内部的一些经验和实践,如组织的架构和体制如何更好地支持共享服务体系的持续发展。

    最后结合两个典型案例来介绍如何在实际工作中应用共享服务体系。一个案例是国内某大型国企进行互联网转型的尝试和探索,最终走上成功转型之道的过程;另一个案例是国内某零售企业如何基于阿里巴巴提供的企业级互联网架构重构企业 IT 架构,在短期内快速重构供应链、SCRM 等平台,打造了企业全渠道分销平台,为该企业在竞争最为激烈的零售行业构建了差异化的竞争优势。希望通过这两个案例使读者更真切地看到共享服务体系项目落地的过程,以及它在企业互联网业务和 IT 架构转型过程中所起到的重要作用。

    我一直以来都信奉再好的技术和框架如果不给企业带来业务价值,就没有太大意义,所以本书更多是从技术架构解决了什么问题,企业收获了哪些业务价值的角度进行说明和阐述,并没有描述太多晦涩的理论、算法和模型。“他山之石,可以攻玉”,希望更多的企业 IT 管理者、架构师、立志成为架构师的技术人员能从这本书中获取有价值的信息,进而对自身职业发展和所在企业业务发展有所帮助。对于有一定技术背景,希望对互联网架构有一个整体了解的读者,本书也是一本不错的入门书籍。

    最后感谢在本书写作过程中给予我无私帮助的同事和朋友:蒋江伟、赵杰辉、周磊、赵勇、司徒放、程正君、赵林,黄杰龙等,没有你们的帮助,就不会有本书的出版。

    钟华

    2016年12月

    第一部分 引子

    本章从阿里巴巴为何启动中台战略说起,谈到阿里巴巴共享业务事业部从建立、摸索及系列演变,到最终成为阿里巴巴业务中台战略中核心组成部分的过程。深入分析阿里巴巴共享业务事业部发展历程中所遇到的一系列问题和困境,而这些问题也恰恰是当今很多传统企业信息系统建设过程中所遇到的问题,找出这些问题的症结是根治这些问题的必修课。

    2015年年底,当大多数企业忙着进行年度工作总结和下一年规划时,阿里巴巴集团对外宣布全面启动阿里巴巴集团2018年中台战略,构建符合 DT 时代的更具创新性、灵活性的“大中台、小前台”组织机制和业务机制,即作为前台的一线业务会更敏捷、更快速适应瞬息万变的市场,而中台将集合整个集团的运营数据能力、产品技术能力,对各前台业务形成强力支撑。

    与任何公司一样,阿里巴巴组织架构的战略调整势必对公司现有组织架构、部门间的协作等各方面都将带来深远影响。战略执行到位、3年内达到战略调整所设定目标,对业务的创新和支持将带来巨大的影响,假若没能很好地控制战略执行过程中带来的风险,对组织架构的动荡过大,都会给现有业务带来不小的影响。

    阿里巴巴为什么会在这样一个时间点做出如此重大的决定呢?这还要从一次商务拜访说起。在2015年年中,马云带领阿里巴巴集团的高管,拜访了位于芬兰赫尔辛基的移动游戏公司 Supercell,这家号称是世界上最成功的移动游戏公司,以《部落战争》《海岛奇兵》《卡通农场》等游戏知名。Supercell 是一家典型的以小团队模式进行游戏开发的公司,一般来说两个员工,或者5个员工,最多不超过7个员工组成独立的开发团队,称之为 Cell(细胞),这也是公司名字 Supercell(超级细胞)的由来。团队自己决定做什么样的产品,然后最快的时间推出产品的公测版,看看游戏是否受用户欢迎。如果用户不欢迎,迅速放弃这个产品,再进行新的尝试,期间几乎没有管理角色的介入。团队研发的产品失败后,不但不会受到惩罚,甚至会举办庆祝仪式,以庆祝他们从失败中学到了东西。使用这样的模式使得 Supercell 公司成为了年税前利润15亿美元的游戏公司,2015年 App 畅销排行榜上 Top 10的游戏中,Supercell 公司开发的游戏占据了榜单的大半江山。在笔者撰写此书时,2016年6月,中国腾讯公司以86亿美元收购了员工数不超过200人的 Supercell 公司84.3%的股权,每一名员工人均贡献的估值超过3.54亿人民币。

    笔者对 Supercell 模式的理解是这家游戏公司经过6年的时间将游戏开发过程中公共、通用的游戏开发素材、算法做了很好的沉淀,企业的文化充分鼓励员工进行创新,甚至进行试错,才使得他们在开发的众多游戏中以最快时间找到那些用户真正喜爱的游戏。这种强大的业务试错能力是 Supercell 相比于其他游戏公司最大的差别,也是最核心的竞争力。其他的游戏公司难道没有想到学习这样的模式吗?答案一定是肯定的。为什么其他游戏公司不具备 Supercell 这样的能力呢,我觉得很多人忽略了 Supercell 所构建的“中台”能力,抛开个人水平高低的影响,Supercell 公司在多年的游戏研发中积累了非常科学的研发方法和体系,使得今天公司可以支持几个人的小团队在几周时间就能研发出一款新游戏,并进行公测。

    Supercell 的模式给参加此次拜访的阿里高管们很大的震撼,在大家反复的心得交流和讨论中,一个非常重要的问题引起了很多人的反思:信息时代的公司架构到底应该是怎样的?正是有了这次拜访才真正让阿里巴巴的领导层有了足够的决心要将组织架构进行调整,在此次拜访的半年后,集团正式启动2018年中台战略。

    所谓的“中台”,并不是阿里巴巴首先提出的词语,从字面意思上理解,中台是居于前台和后台之间。其实在阿里巴巴集团启动中台战略之前,有另一个被很多外界所熟知的“厚平台,薄应用”架构,说起这个架构则不得不说其中最为重要的一个部门——共享业务事业部,这个部门的产生、演变和发展在笔者看来都极具代表性和参考价值。

    第1章 阿里巴巴集团中台战略引发的思考
    第2章 构建业务中台的基础——共享服务体系
    第二部分 共享服务体系搭建
    第3章 分布式服务框架的选择
    第4章 共享服务中心建设原则
    第5章 数据拆分实现数据库能力线性扩展
    第6章 异步化与缓存原则
    第7章 打造数字化运营能力
    第8章 打造平台稳定性能力
    第9章 共享服务中心对内和对外的协作共享
    第三部分 阿里巴巴能力输出与案例
    第10章 大型央企互联网转型
    第11章 时尚行业品牌公司互联网转型

    阅读全文: http://gitbook.cn/gitchat/geekbook/5bc579a542d7d32f50f16d75

    展开全文
  • Android架构设计的思想与原则是什么?最近工作中遇到了android中的权限问题,发现Android确实是开源的,但并不开放,比如权限控管就相当严格,限制做很多事情,这一点得意于linux内核。这也勾起来对其架构研究的兴趣...
  • 阿里巴巴中台战略思想架构
  • 本书以系统的认识论作为出发点,全面描述了架构思想、过程、方法。在此基础上,提出并论述了普遍性的架构理论和参考原则。通过全新的观察视角,本书对“架构”以及“架构师角色”提出了新的定义,并主要讨论了形成...
  • 包含了一些关键的架构设计原则和思想。高性能、高可用、安全、可扩展等原则如何在实际的系统设计中灵活运用。
  • 中科院计算所培训中心,高级软件系统构架师培训教材,软件构架设计的思想与模式
  • 本书讲述了阿里巴巴技术发展史,同时也是一部互联网技术架构的实践与发展史,也是讲述企业中台的实现的指导思想
  • SOA在Java领域有两套标准:一个是SUN推出的JBI(没有得到BEA和IBM的承认)...一、认识SCASCA(ServiceComponentArchitecture)中文翻译为“服务组件架构”,是一种全新的软件架构思想。SCA中,最重要的一个概念是Servi
  • 58、《阿里中台战略思想架构实战》读书笔记.docx
  • 阿里架构的中台架构的PPT分析

    万次阅读 多人点赞 2019-08-08 10:58:05
    本文整理了阿里几位技术专家,如架构总监 谢良纯,中间件技术专家 玄难等几位大牛,关于中台架构的几次分享内容,将业务中台形态、中台全局架构、业务中台化、中台架构图、中台建设方法论、中台组织架构、企业中台...
    本文整理了阿里几位技术专家,如架构总监 谢良纯,中间件技术专家 玄难等几位大牛,关于中台架构的几次分享内容,将业务中台形态、中台全局架构、业务中台化、中台架构图、中台建设方法论、中台组织架构、企业中台建设实施步骤等总共13页PPT精华的浓缩,供大家学习借鉴。
    

    本文要点小结:
    1,阿里业务中台架构图。阿里完整前后中台技术架构图。
    2,业务中台化-产品形态。将商业基础形态和逻辑梳理出来,解构成业务“积木块”。
    3,业务中台化-全局架构。建立中台的中心化控制单元,对中台有一个纵观全局的视图。
    4,业务中台化 - 业务创新和智能化。业务中台化,汇集和沉淀业务逻辑和数据,对快速创新提供支持。
    5,阿里核心业务架构。小前台、大中台、轻后台的相互支撑体系。
    6,阿里数据中台架构。数据中台建设理论、方法和实践。
    7,阿里技术全栈全景图。阿里的移动中台、业务中台、数据中台、技术中台。
    8,阿里技术平台底座。阿里多年技术积累和沉淀,构建在阿里云之上。
    9,阿里中台组织架构。阿里的中台战略,相匹配的组织架构升级。
    10,业务中台建设路径。企业中台建设应遵循的3个步骤:决心变革、成功试点、持续融合。
    11,企业中台战略4个升级。从战略、组织、流程、技术四个方面进行升级。
    12,阿里中台的能力开放。基于阿里云、ET大脑、业务&数据双中台的能力开放。
    13,阿里业务中台建设方法论。中台建设和基础协议、中心化操控单元。

    01
    阿里业务中台架构图

    在这里插入图片描述
    基础设施服务,即IAAS层,提供硬件底层支持。
    基础服务层,即PAAS层,包括分布式服务框架、分布式数据库、分布式消息、分布式存储、分布式事务、实时监控服务等等。
    互联网业务中台,包括各服务中心的抽象出来的各种业务能力,包括交易中心、支付中心、营销中心、结算中心、用户中心、账户中心等等。也包括非业务类服务,如日志分析中心、配置中心、序列中心、基础中心。
    业务应用,经过调取业务中台,组装形成独立业务服务能力的业务应用,如
    交易来源,就是前台用户使用的各个端,如淘宝App、PC站等。

    02
    业务中台化-产品形态

    在这里插入图片描述

    阿里的电商生态,就是要根据对商业的理解,把一些基础逻辑梳理出来。例如什么是业务?什么是业务身份?各个业务领域的边界是什么?每个领域提供的基础服务是什么?领域服务和领域服务之间的流程链接标准是什么?再在这些思想的指导下去建立业务平台化的实施标准和业务管控标准。
    电商业务中台由一系列:业务能力标准、运行机制、业务分析方法论,配置管理和执行系统以及运营服务团队构成的体系,提供各业务方能够快速,低成本创新的能力。

    03
    业务中台化-全局架构

    在这里插入图片描述

    中台建设需要一个中心化控制单元,就是我们的运营平台。它主要由协议标准、能力地图、业务需求结构分解、全局业务身份、业务全景图、业务度量等构成。能让我们有一个地方纵观全局,把控细节。
    其中能力地图是一个最基础的设施,要能把电商生态里面的能力都呈现出来,并在过程中不断的优化完善。就象我们现在出行离不开XX地图一样,今后所有的业务方需要做业务规划,业务创新,都可以到这儿来寻找需要的基础能力。

    04
    业务中台化 - 业务创新和智能化

    在这里插入图片描述

    为了能将业务逻辑本身与实现逻辑分离,可以将业务逻辑下发给不同实现的执行系统,引入竞争,方便业务平台的改造升级,我们要将控制信息从业务平台中抽离到业务中台,以业务身份为主线来进行组织管理和呈现。并以生态角色的视角来重构信息架构。这样的变革对我们原来的系统架构提出了更高的要求。
    通过业务中台化,我们把所有业务的数据汇集沉淀。每个业务它是怎么出来的,出来之后做了哪些业务需求,业务活动,每个业务活动的效果是怎么样的,都可以沉淀下来。

    05
    阿里核心业务架构

    在这里插入图片描述

    通过阿里云平台将技术中台进行部署,对集团内共享业务单元提供支撑,并最终对前台各业务线提供服务化能力输出。

    06
    阿里数据中台架构

    在这里插入图片描述

    阿里巴巴提出的数据中台模式正是为解决这些问题而生,并通过实践形成了统一全域数据体系,实现了计算存储累计过亿的成本降低、响应业务效率多倍提升、为业务快速创新提供坚实保障。

    全域数据采集与引入:以需求为驱动,以数据多样性的全域思想为指导,采集与引入全业务、多终端、多形态的数据;

    标准规范数据架构与研发:统一基础层、公共中间层、百花齐放应用层的数据分层架构模式,通过数据指标结构化规范化的方式实现指标口径统一;

    连接与深度萃取数据价值:形成以业务核心对象为中心的连接和标签体系,深度萃取数据价值;

    统一数据资产管理:构建元数据中心,通过资产分析、应用、优化、运营四方面对看清数据资产、降低数据管理成本、追踪数据价值。

    统一主题式服务:通过构建服务元数据中心和数据服务查询引擎,面向业务统一数据出口与数据查询逻辑,屏蔽多数据源与多物理表;

    极大的丰富和完善了阿里巴巴大数据中心,OneData、OneID、OneService渐趋成熟并成为上至CEO、下至一线员工共识的方法论体系。

    07
    阿里技术全栈全景图

    在这里插入图片描述

    阿里技术全栈包含:移动中台、业务中台、数据中台、基本中间件、基础设施、前台业务、后台业务。
    移动中台,包括移动网关、开发套件&框架、消息推送、移动IM等等,提供了限流、负载、鉴权、消息推送、开发框架等等,使得移动端应用开发效率更高。
    业务中台&数据中台,将业务、数据抽象和沉淀形成服务能力,对前台提供调用。

    08
    阿里技术平台底座

    在这里插入图片描述

    在阿里集团内部,所有业务中台、前台,共享一个技术平台底座,将阿里多年技术沉淀的价值最大化,提供运行更稳定、架构更灵活的技术支撑。

    09
    阿里中台组织架构

    在这里插入图片描述

    阿里巴巴集团在近期的组织结构调整中,组成由“小前台,大中台”互为协同的创新管理模式。
    原阿里巴巴中国零售事业群总裁张建锋将担负起“中台”的重要工作,负责共享、数据、搜索,以及闲鱼、淘宝头条等创新孵化业务。

    10
    业务中台建设路径

    在这里插入图片描述

    阿里对业务中台建设路径进行了总结提炼:
    1、决心变革。企业内达成战略共识,一把手牵头,做总体规划、分步实施,找准切入点,解决具体业务问题。
    2、成功试点。通过分析调研,明确业务目标和范围,完成技术平台引入、中台建设方法论宣导,进行试点,梳理标杆,积累经验。
    3、持续融合。总结出适合企业自身的理念和规范,优化组织、提升中台效率。

    11
    企业中台战略升级的4个方面

    在这里插入图片描述

    阿里建议企业实施中台战略的4个升级:
    1、战略升级。通过中台建设,落地企业数字化战略。
    2、组织升级。组织架构需要与中台架构相匹配,根据企业实际情况优化组织效率。
    3、流程升级。将企业现有流程进行梳理,优化及固化企业流程,提升企业运作效率。
    4、技术升级。通过互联网技术,对企业基础技术设施进行升级,降本增效。

    12
    阿里中台的能力开放

    在这里插入图片描述

    阿里基于阿里云、ET大脑、业务&数据双中台,将阿里10多年的技术能力向社会进行开放。

    13
    阿里业务中台建设方法论

    在这里插入图片描述

    中台建设的基础协议
    就是要根据我们对商业的理解,把一些基础协议梳理出来。例如什么是业务?什么是业务身份?各个业务领域的边界是什么?每个领域提供的基础服务是什么?再在这些思想的指导下去建立业务平台化的实施标准和业务管控标准。

    中台的基础设施:中心化控制单元
    就是运营平台,它主要由协议标准、能力地图、业务需求结构分解、全局业务身份、业务全景图、业务度量等构成。能让我们有一个地方纵观全局,把控细节。

    展开全文
  • 微服务架构设计实践 目 次1 序言2 微服务3 软件架构设计思想4 微服务架构设计实践4.1 项目概述4.2 架构准备阶段4.3 概念架构阶段4.4 细化架构阶段4.4.1 业务架构4.4.2 数据架构4.4.3 应用架构4.4.4 技术架构4.4.5 ...

    微服务架构设计实践
     


    目    次

    3  软件架构设计思想

    3.1  软件架构定义

            对于软件架构的定义,仁者见仁,智者见智。目前,业界比较流行的两大流派是组成派和决策派,这两派的概念相辅相成,具体如下:

            组成派:软件架构 = 组件 + 交互。

            决策派:软件架构 = 重要决策集。

            上述两大流派的描述过于抽象,不利于理解,本人更喜欢下述关于软件架构的描述,通俗易懂,即:

            软件架构是软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构描述的对象是直接构成系统的抽象组件,各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。

            软件架构是一个用于指导系统实现的草图,这个草图越详细对于系统实现的指导意义越重大,贯穿于软件的整个生命周期。

    3.2  软件架构本质

            架构的本质就是对系统进行有序化重构,不断减少系统无序的程度,使系统不断进化。

            架构从无序到有序的基本实现手段是分和合,即先把系统打散,然后重新组合。

            分的过程是把系统拆分为各个子系统、模块、组件。拆分的时候,首先要解决每个组件的定位问题,然后才能划分彼此的边界,实现合理的拆分。合的过程就是根据最终要求,把各个分离的组件有机整合在一起。

            分的结果使开发人员能够做到业务聚焦、技能聚焦,实现开发敏捷;

            合的结果使系统变得柔性,可以因需而变,实现业务敏捷。

            相对来说,第一步的拆分更难。

    3.3  软件架构过程

            在此次软件架构设计过程中,采用了温昱老师在《软件架构设计》一书中提及的ADMEMS方法体系。

            ADMEMS方法通过3个阶段和一个贯穿环节,来覆盖“需求进,架构出”的完整架构设计过程。

             

    3.3.1  PA阶段

            架构准备阶段是架构设计的第一个阶段,此阶段的工作目标是:理解需求,建立需求大局观,确定架构设计方向等。

            功能需求、质量属性和约束共同决定了架构,对这3类需求的把握是否到位、设计决策是否对路,是软件架构设计的关键所在。

            如果可能的话,架构师应该尽早的参与需求分析工作,对需求进行大局的梳理,而不能被动地等待《软件需求规格说明书》的完成。

            只要满足以下3个条件,架构师就可以开始架构设计工作:

            1.明确的业务需求:甲、乙双方对系统的目标达成共识,《愿景文档》通过了正式评审,并且明确了投资、工期标准、整合等约束条件。

            2.全面的用户需求:系统范围明确,即系统能帮用户干什么,不能干什么。

            3.典型的行为需求:核心功能的《用例规约》已定义。

            在架构准备阶段,通过对软件需求的详细分析,抽取出确定概念性架构所需要的关键需求。

            此阶段的输入是软件需求(即上述的三部分:明确的业务需求、全面的用户需求、典型的行为需求),成果物是确定的关键需求,包括关键功能、关键质量属性和关键约束影响,作为下一个阶段的输入。

    3.3.2  CA阶段

            概念架构是对系统设计的最初构想,对大型系统的成功非常关键。

            概念性架构定义了系统的高层组件,笼统地界定了高层组件的职责,以及它们之间的关系。

            概念性架构主要是对系统进行适当的分解,而不陷入细节。

            概念性架构规定了每个组件的非正式规约及架构图,但不涉及接口细节。

            在进行概念架构设计时,必须牢牢抓住重大需求、特色需求、高风险需求,有针对性地确定解决方案。

            关键需求塑造概念架构。反过来,概念架构体现关键需求。

            此阶段的输入是关键需求,包括关键功能、关键质量属性和关键约束影响,成果物是针对关键问题的解决策略,和以高层抽象组件方式描述的整个系统的组成草图,可以用在《软件方案建议书》。此成果物作为下一个阶段的输入。

    3.3.3  RA阶段

            从概念架构到细化架构,先设计概念架构,构思关键问题的解决策略;再进行细化架构的设计,以保证为开发提供足够的指导和限制。

            在细化架构阶段,整体设计思路为以分而治之为核心思想的多视图方法。

            此阶段的输入是关键问题的解决策略,和以高层抽象组件方式描述的整个系统的组成草图,成果物是描述系统的各种视图,这些视图从不同的角度,不同的关注点,描述了抽象的、完整的系统解决方案。

    3.4  软件架构视图

            多视图方法是业界广泛认可的一种架构设计思路。

            一种优秀的多视图方法,应该能够比较完善地覆盖架构设计的各项工作内容,并且将每项工作内容明确地、有理有据地、一目了然地划归到不同的架构视图中去。

            在多视图方法中,每个视图都从一个思维角度聚焦一组技术关注点,都从特定角度规划系统的拆分和组合,都是架构的一种体现。

            多视图方法种类繁多,其中影响最大的当属由Philippe Kruchten于1995年首次提出的RUP的4+1视图方法,涉及视图分别为逻辑架构视图、运行架构视图、开发架构视图、数据架构视图、物理架构视图。

            另一种在架构设计中经常使用的多视图方法是联邦企业架构框架(Federal Enterprise Architecture Framework),涉及视图分别为:业务架构视图、数据架构视图、应用架构视图、技术架构视图。

            本人所使用的视图方法是以RUP的4+1视图方法和联邦企业架构框架为基础,基于本人在架构设计方面的实践经验,总结出常用的6中架构视图,涉及视图为:业务架构视图、数据架构视图、应用架构视图、技术架构视图、物理架构视图、开发架构视图。

            为了理论与实践相结合,对于每种视图的介绍放到架构设计实践的细化架构阶段,结合实际的项目,详细描述每种视图。

    3.5  架构之间的关系

            从根本上讲,架构设计毫无疑问是需求驱动的。所以,软件需求是整个软件架构设计过程的前提条件。

            在架构设计过程中,不同的架构视图之间并不是孤立存在的,它们之间存在着依赖关系,并且这些依赖关系也决定了这些架构视图的设计顺序,具体如下:

            1. 第一步,根据用户需求确定业务架构。

            2. 第二步,根据业务架构,分析、定义数据架构。

            3. 第三步,根据数据架构,并结合功能需求定义应用架构。

            4. 第四步,根据数据架构与应用架构来设计技术架构。

            5. 第五步,根据数据架构、应用架构和技术架构,来设计开发架构。

      微信扫一扫,关注该公众号

      该系列文章已经在微信公众号发布,如果感兴趣,请关注。

       以后更多知识通过该微信公众号分享。



    展开全文
  • 三层架构思想

    2012-01-08 17:46:35
    对表现层、业务逻辑层、数据访问层的深入诠释
  • JAVA构建架构思想

    千次阅读 2017-05-14 11:36:16
    现在我如果作为一名架构师,我要构建一个项目。这个项目作为一个单一机器上运行的项目,而且暂时用户不会很多,所以我的想法是不考虑分布式部署。 暂时先考虑一台机器上进行部署。基于系统的反应和响应时间来说,...
  • 1.1关于架构架构这个词从它的出现后,就有许许多多的程序员、架构师们激烈地讨论着它的发展,但是架构一词的出现,却是随着三层架构的出现才出现的。当然,目前应用三层架构开发也正是业界最关注的主题。那么这里我们...
  • 设计模式: 软件分层架构思想

    千次阅读 2018-09-11 18:58:04
    软件分层架构思想 计算机科学领域任何问题,都可以间接的通过添加一个中间层来解决 分层架构根据职能的差异,划分为多个层次。分层架构设计思想,有很多成功的例子,诸如:OSI七层网络模型,通过七个层次...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 322,468
精华内容 128,987
关键字:

思想架构

友情链接: crazycat.zip