企业IT架构转型之道:阿里巴巴中台战略思想与架构实战感想

文章目录

  • 第一章:数据库水平扩展
  • 第二章:中台战略
  • 第三章:阿里分布式服务架构HSF(high speed Framework)、早期Dubbo
  • 第四章:共享服务中心建设原则
  • 第五章:数据拆分实现数据库能力线性扩展
  • 第六章:异步化与缓存原则
  • 第七章:打造平台稳定性能力
  • 第八章 共享服务中心对内和对外的协作共享


第一章:数据库水平扩展

复杂业务系统的结构化与服务化、解耦
大型系统的消息处理
去IOE:IBM的小型机、Oracle数据库、EMC存储设备
大规模数据的线性可扩展问题,包括存储与访问,方案:开发中间件
全球分布式部署,99.99的高可用、容灾
企业互联网应用运行全程动态感知与管理,提供全部监管能力、且要根据业务流量进行业务的优雅降级,确保系统可用性。
企业架构发展
烟囱式架构(基于单个项目建设、部门间无技术、业务沉淀)-分布式架构-共享式架构
系统的建设要从生产型模型上升到运营型模型
案例
共享服务理念给企业业务发展带来的业务价值*************
案例1:大型国企进行互联网转型尝试与探索
案例2:零售企业如何基于阿里提供的企业级互联网架构重构企业IT架构

第二章:中台战略

构建符合DT- Data technology时代,“大中台,小前台“组织机制和业务机制,即前台一线业务更加敏捷、快速适应市场,而中台将集合整个集团的运营数据能力、产品技术能力,对前台业务形成支撑。居于前台和后台之间。
启发来源:Supercell公司,超级(小)团队尝试快速开发产品,不断跌迭,探索市场和用户喜爱的经营模式。
共享业务事业部框架:
在这里插入图片描述
SOA面向服务体系架构Service -Oriented Architecture
落地大多通过搭建企业有ESB-企业服务总线,属于“中心化“服务框架。大多IT企业系统都采用烟囱式架构,各种系统纷繁林立,如采用技术平台、框架、开发语言各异,为实现各种异构系统间交互。ESB-企业服务总线,提供各种技术接口(HTTP、Socket、JMS、XML、WS)的适配接入、数据格式转换、服务请求路由等功能,核心目标让企业客户能力基于SOA产品实现各系统间互联互通,同时提高开发集成效率,更快实现SOA项目落地,但各系统间服务调用每次都必须经过ESB进行服务路由。
主要特征:面向服务的分布式计算、服务间松散耦合、支持服务的组装、服务注册与自动发现,以服务契约方式定义服务交互。
SOA架构的核心-服务重用,服务共享,构建共享服务体系,将相关业务领域的业务功能和数据模型原生在业务层汇聚。
服务需要不断的滋养
在这里插入图片描述
业务拆分
可解放对单数据库集群连接数的能力依赖,缓解数据库连接瓶颈,整个平台拆分成多个服务中心以及专门应用模块(应用扩展、拆分),数据层也相应拆分,即每个核心服务和应用都拥有独立的数据库-分布式数据库。
分布式服务框架
去中心化服务器架构,中心化服务架构避免因为‘中心点’带来平台难扩展以及潜在的‘雪崩’影响。

第三章:阿里分布式服务架构HSF(high speed Framework)、早期Dubbo

架构(主要组件):服务提供者、服务调用者、地址服务器(配置服务器列表信息,Nginx提供服务能力)、配置服务器、Diamond服务器。
架构图:
在这里插入图片描述

服务交互:Netty + Hession 数据序列化(比JDK 序列化时间开销缩短20倍)协议实现

微服务架构:分布式服务组成的系统、按业务划分组织、实现产品而不是项目、智能化服务端点与傻瓜式服务编排、自动化运维、系统容错、服务快递演化。
本质上来说是SOA演变后的形态,与SOA方式和原则上没有本质区别。
面临难点:有效服务管控,即分布式服务体系下服务琏的跟踪、分析、实时业务指标的监控等问题;分布式事务管理;自动化运维和平台稳定性;微服务的服务设计(服务边界划分)

第四章:共享服务中心建设原则

共享服务中心是集团中台架构的基石。如何构建稳定可靠、最高效地支撑上层业务快速创新的共享服务能力是中台战略成功落地的关键。
服务能力包括两个层次:底层Paas的能力(解决大型架构在分布式、可靠性
可用性、容错、监控以及运维层面上的通用需求)、业务能力(提供云化的核心业务支撑能力,直接决定了对上层业务达到敏捷、稳定、高效的支撑结果)
淘宝共享服务中心:用户中心、商品中心、交易中心、店铺中心。
用户中心:统一各业务线分散的用户体系,统一用户数据、存储、服务接口;
商品中心:提供6核心服务能力,商品描述能力(商品描述数据模型-类目属性体系、SPU、SKU,商品存储模型、商品服务接口);商品发布能力;商品管理能力(大数据量管理);商品巡检能力(在有效生命周期内对商品管理,纠正用户搜索违规行为);商品数据数据分析;商品评价能力;
交易中心:交易业务领域的服务中心,包括交易相关的服务信息(如交易流程、订单管理、支付、结算等)。
店铺中心:承担卖家店铺管理、装修、生命同期管理以及日常管理等业务。
***什么是服务中心:***1)随着业务不断发展 2)服务形态多样化:依赖于接口的服务、依赖于工具的服务(定制配置服务、运营管理类服务)、依赖于数据的服务(如大数据分析能力)、,接口只是服务的最主要形式,服务不能拘泥于接口形式,如有可提供界面形式的服务能力
3)服务中心可进一步划分,服务中心是根据业务和数据的完整性与独立性来设立,服务中心包含的子模块更多是从系统设计和业务架构层面来考虑。现实中业务通常需要多个子服务模块协作配合实现服务,所以真实的服务中心场景中分为单个服务模块和多个服务模块两种形态,如多个服务模块交易中心服务包括订单服务和购物车服务。
服务中心划分原则:建设考量三方面:设计、运营、工程。设计原则上的平衡,技术、成本、资源、性能、团队等各方面的平衡。
从共享服务中心目标服务层面:通过业务拆分降低系统复杂性;通过服务共享提供可重用性;通过服务化达到业务支持的敏捷性;通过统一的数据架构消除数据交互的屏障;
从设计层面:主要遵循面向对象的分析和设计的方法,即业务和系统建模遵循面向对象的基本原则。
从运营层面:服务中心是一个完整的业务模型,有数据运营和业务整合的价值。
从工程方面:共享服务的架构基于分布式架构,在规划服务中心时需要综合评估业务层对服务中心在数据库、业务以及运营方面的需求和技术上需要的投入。
总结基本原则:
1)高内聚、低耦合原则:服务中心内的服务间是相关性高、依赖性高,而各服务中心间业务隔离性大,即尽可能的低耦合。
2)数据完整性原则
3)业务可运营性原则,期望服务中心是承载业务逻辑、沉淀业务数据、产生业务价值的业务单元。
4)渐进性的建设原则,服务化从简单开始,通过真实的业务需求锤炼稳定可靠的共享服务。

第五章:数据拆分实现数据库能力线性扩展

5.1数据库瓶颈阻碍业务的持续发展
采用数据垂直分区方式对业务数据进行分区。数据库读写分离扩展数据库对数据读的处理能力。而主库因写入数据量大而产生数据压力时,采取水平分区方式对数据行为拆分,即将同表中的不同数据拆分到不同数据库中,如用户中心用户数据6亿,通过用户ID hash取模方式实现用户数据平均分布。
5.2数据库分库分表的实践
分布式数据库产品DRDS-Distributed Relational Database Service,按量付费,共享实例的DRDS,目前价格为0.2元/小时。

第六章:异步化与缓存原则

好的设计可很好提高分布式应用架构和性能。
6.1 业务流程异步化
6.2 数据库事务异步化
6.2事务与柔性事务。数据库事务核心体现ACID[Atomicity、Consistency、Isolation、Durability],业务一致性,分布式领域CAP[强一致性Consistency、可用性Availability、网络容错性Partition-tolerance]理论和BASE理论[基本可用性BA、柔性状态Soft State、最终一致性Eventual Consistency]。

第七章:打造平台稳定性能力

7.1 限流和降级,限流一般通过服务的QPS[Queries-per-second]作为限流的关键指标,业务场景有:能力+平台+省份业务限流、黑名单限流、Cookie限流等。降级是指当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。
7.2 流量调试
7.3业务开关
7.4容量压测及评估规划

第八章 共享服务中心对内和对外的协作共享

共享服务平台建设思路:借鉴SOA和API管理的思想。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/60137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【优选算法篇】微位至简,数之恢宏——解构 C++ 位运算中的理与美

文章目录 C 位运算详解:基础题解与思维分析前言第一章:位运算基础应用1.1 判断字符是否唯一(easy)解法(位图的思想)C 代码实现易错点提示时间复杂度和空间复杂度 1.2 丢失的数字(easy&#xff0…

在 WPF 中,绑定机制是如何工作的?WPF数据绑定机制解析

在WPF(Windows Presentation Foundation)中,数据绑定机制是其核心功能之一,广泛用于连接应用程序的UI(用户界面)和应用程序的业务逻辑层。数据绑定允许你将UI元素与数据源(如对象、集合或其他数…

基于 STM32 的天气时钟项目中添加天气数据的网络获取功能

基于 STM32 的天气时钟项目中添加天气数据的网络获取功能,您需要确保您的开发环境具备网络连接能力。这里以 ESP8266 Wi-Fi 模块为例,详细说明如何实现网络获取天气数据的功能。 1. 硬件连接 连接 ESP8266 模块 请参考以下连接方式,将 ESP82…

删除conda和 pip 缓存的包

一般情况下,如我们在不同的cuda环境下不同的虚拟环境安装包时,系统会检测到之前其他cuda环境下缓存包安装,运行程序可能会报错。 那就要删掉缓存在装包。 删除 pip 缓存的包 pip cache purge2.或者安装某个包不使用缓存 pip install mmcv2…

Vosk 进行中文语音识别实例

这个示例展示了如何在 Qt 中集成 Vosk 进行中文语音识别。该示例不仅涵盖了录音的设置与保存,还确保录制的音频文件符合 Vosk 的要求格式。通过 Vosk 的中文模型,我们可以对音频内容进行识别,获取准确的中文转写结果。此外,示例中通过 QString::fromUtf8 来正确解析 Vosk 返…

晓宇电视 1.9 | 电视直播软件,几千频道,高清秒播

晓宇电视是一款电视直播软件,提供数千个高清频道,支持秒播。最大的特色是没有广告,且不需要用户手动更新源地址。安装后即可使用,频道节目丰富,包括影视剧轮播专区,用户可以轻松观看喜爱的电影和电视剧。软…

双指针算法的妙用:提高代码效率的秘密(2)

双指针算法的妙用:提高代码效率的秘密(2) 前言: 小编在前几日讲述了有关双指针算法两道题目的讲解,今天小编继续进行有关双指针算法习题的讲解,老规矩,今天还是两道题目的讲解,希望…

mysql删除语句:@Update(“TRUNCATE TABLE employee“)讲解

这个 SQL 语句: TRUNCATE TABLE employee是一个 SQL DDL(数据定义语言) 操作,用于清空数据库表中的所有记录,但不会删除表结构(即列和索引等)。 逐部分解释: TRUNCATE:…

前端实现数据下载为json文件

数据be like const res [{xxx:111,ccc:[]}]实现: const data JSON.stringify(res, null, 4)const file new Blob([data], { type: text/json })const link document.createElement(a)link.download 名称.jsonlink.href URL.createObjectURL(file)link.click()…

MySQL:客户端工具创建数据库

MySQL 是一个开源的关系型数据库管理系统(RDBMS),用于存储、管理和检索数据。MySQL是基于SQL语言的,它具有高效、可靠、易用的特点。 客户端工具 这个mysqld.exe就在计算机安装的数据可服务,启动之后,mys…

使用python向钉钉群聊发送消息

使用python向钉钉群聊发送消息 一、在钉钉群中新建机器人二、使用代码发送消息 一、在钉钉群中新建机器人 在群设置中添加机器人 选择自定义 勾选对应的安全设置 完成后会展示webhook,将地址复制出来,并记录,后面会用到 二、使用代码发送消…

【芯智雲城】Sigmastar星宸科技图传编/解码方案

一、图传技术简介 图传是指将图像或媒体内容从一个设备传输到另外一个设备的技术,传输的媒介可以是无线电波、光纤、以太网等。图传系统主要由图像采集设备、传输设备和接收设备组成,图像采集设备负责采集实时图像,传输设备将采集到的图像转…

【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整题库

前言 大家好吖,欢迎来到 YY 滴计算机网络 系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 本博客主要内容,收纳了一部门基本的计算机网络题目,供yy应对期中考试复习。大家可以参考 欢迎订阅 YY滴其他专栏!…

C#核心(9)静态类和静态构造函数

前言 我们先前已经了解了静态成员的基本构成,也简单了解了一下静态变量,现在我们就要来看一下静态类和静态构造函数了,这些其实在上一节我已经在例子里有提到过,相信聪明的你甚至已经发现了一些规律。 GPT对c#中静态类和静态构造…

SSRF〈2〉

SSRF的进阶 1.Gopher协议的利用 1.gopher协议可以通过url指向指定IP端口发送任意内容&#xff0c;模拟大多数TCP协议&#xff0c;是SSRF中的一把利刃。 gopher协议URL&#xff1a; gopher://<host>:<port>/_<url编码的TCP数据> 这个url编码的TCP数据是goph…

sql专题 之 常用命令

文章目录 查询基础语法查询全表查询选择查询&#xff1a;常量和运算&#xff1a; 条件查询where运算符&#xff1a;、 !、<、>空值&#xff1a;null模糊查询&#xff1a;like逻辑运算&#xff1a;and or not 去重&#xff1a;distinct排序&#xff1a;order by截断和偏移…

Java[面试题]-真实面试

1.什么是IOC和AOP&#xff1f;了解么&#xff1f; IOC&#xff08;控制反转&#xff09;和AOP&#xff08;面向切面编程&#xff09; 1. IOC&#xff08;控制反转&#xff09; 概念 IOC&#xff08;Inversion of Control&#xff09;是面向对象编程中的一个设计原则&#xf…

Linux学习笔记之定时任务调度

crond 任务调度 任务调度&#xff1a;指系统在某个时间执行的特定的命令或程序 任务调度分类&#xff1a;1.系统工作&#xff1a;有些重要的工作必须周而复始地执行&#xff0c;如病毒扫描等。 2.个别用户工作&#xff1a;个别用户可能希望执行某些程序&#xff0c;如对mysql数…

MyBatisPlus 用法详解

文章目录 一、快速入门1.1 引入依赖&#xff1a;1.2 定义 Mappper&#xff1a;1.3 使用演示&#xff1a;1.4 常见注解&#xff1a;1.4.1 TableName:1.4.2 TableId&#xff1a;1.4.3 TableField&#xff1a; 1.5 常见配置&#xff1a; 二、核心功能2.1 条件构造器&#xff1a;2.…

C++ -- 多态与虚函数

多态 概念 多态&#xff08;polymorphishm&#xff09;&#xff1a;通常来说&#xff0c;就是指事物的多种形态。在C中&#xff0c;多态可分为编译时多态&#xff08;静态多态&#xff09;和运行时多态&#xff08;动态多态&#xff09;&#xff0c;这里我们重点讲的是运行时多…