企业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.rhkb.cn/news/467770.html

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

相关文章

鸿蒙的进击之路

1. 题记: 为什么要写鸿蒙,因为她是华为的,为什么是华为就要写,因为华为背负了国人太多太多的包袱,或点赞或抨击。 我是强烈支持华为的,但我会客观公正地去评价华为的产品,就比如这篇博文&#…

【CTFN】基于耦合翻译融合网络的多模态情感分析的层次学习

同样用了翻译模块的论文->MTMSA 代码地址->github地址 abstract 多模态情感分析是一个具有挑战性的研究领域,涉及多个异构模态的融合。主要的挑战是在多模式融合过程中出现一些缺失的模式。然而,现有的技术需要所有的模态作为输入,因…

Go的环境搭建以及GoLand安装教程

目录 一、开发环境Golang安装 二、配置环境变量 三、GoLand安装 四、Go 语言的 Hello World 一、开发环境Golang安装 官方网址: The Go Programming Language 1. 首先进入官网,点击Download,选择版本并进行下载: ​ ​ 2. …

Spring IoC DI

1. IoC 1.1 容器 容器是用来容纳某种物品的(基本)装置。——来自:百度百科 生活中的水杯,垃圾桶,冰箱等等,都是容器 代码中的容器,如:List/Map -> 数据存储容器;T…

Python异常检测 - LSTM(长短期记忆网络)

系列文章目录 Python异常检测- Isolation Forest(孤立森林) python异常检测 - 随机离群选择Stochastic Outlier Selection (SOS) python异常检测-局部异常因子(LOF)算法 Python异常检测- DBSCAN Python异常检测- 单类支持向量机(…

DolphinDB 与南方科技大学联合授课啦!

11月1日,南方科技大学商学院和 DolphinDB 联合举办了高校课程讲座。讲座由南方科技大学商学院高级研究学者冯鹏举主持,DolphinDB 创始人兼 CEO 周小华博士、某百亿私募数据平台架构师潜蛟老师进行精彩演讲。 Part 1 : 大数据时代下数据库架构革新与生态…

3.PyCharm工具

第三方IDE,集成开发工具,官网下载。 社区版本,免费使用。 创建项目

微信小程序——用户隐私保护指引填写(详细版)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

【在Linux世界中追寻伟大的One Piece】poll代码改写

目录 1 -> poll代码改写 1 -> poll代码改写 结合select代码&#xff0c;将select server更改成为pollserver&#xff0c;不是一件困难的事情。 #pragma once#include <iostream> #include <string> #include <poll.h> #include <memory> #inc…

安利一款开源企业级的报表系统SpringReport

SpringReport是一款企业级的报表系统&#xff0c;支持在线设计报表&#xff0c;并绑定动态数据源&#xff0c;无需写代码即可快速生成想要的报表&#xff0c;可以支持excel报表和word报表两种格式&#xff0c;同时还可以支持excel多人协同编辑&#xff0c;后续考虑实现大屏设计…

【11月10日最新】V2.6.1版本植物大战僵尸杂交版分享与下载

&#x1f447;下载链接&#xff1a; 点击下载 更新内容 植物大战僵尸杂交版2.6.1版本的更新内容主要包括以下几个方面&#xff1a; 梦幻联动&#xff1a; 与UP主轻柔北风合作&#xff0c;推出了“植物大战僵尸贴吧版”。联动植物包括石果子与雷蘑菇杂交的雷果子&#xff0c;…

Jenkins找不到maven构建项目

有的可能没有出现maven这个选项 解决办法&#xff1a;需要安装Maven项目插件 输入​Maven Integration plugin​

路过宝安乌石岩庙记

​每周带娃从上屋地铁去罗租大道的七彩城堡儿童乐园玩&#xff0c;路上都会经过乌石岩庙附近。听说香火很繁盛&#xff0c;娃说也想去看看&#xff0c;于是来到了乌石岩庙。 石岩乌石岩庙 广东省深圳市宝安区老街一区94号 ​从百度知悉&#xff1a;乌石岩庙&#xff0c;又称“…

练习LabVIEW第四十四题

学习目标&#xff1a; 计算学生三门课(语文&#xff0c;数学&#xff0c;英语)的平均分&#xff0c;并根据平均分划分成绩等级。要求输出等级A,B,C,D,E。90分以上为A&#xff0c;80&#xff5e;89为B&#xff0c;70&#xff5e;79为C&#xff0c;60&#xff5e;69为D&#xff…

软考高级架构 - 8.1 - 系统质量属性与架构评估 - 超详细讲解+精简总结

第8章 系统质量属性与架构评估 软件系统属性包括功能属性和质量属性&#xff0c;而软件架构重点关注质量属性。 8.1 软件系统质量属性 8.1.1 概述 软件系统的质量反映了其与需求的一致性&#xff0c;即&#xff1a;软件系统的质量高低取决于它是否能满足用户提出的需求&#…

最详细【Elasticsearch】Elasticsearch Java API + Spring Boot集成 实战入门(基础篇)

Elasticsearch Java API Spring Boot集成 实战入门&#xff08;基础篇&#xff09; 一、初始Elasticseach1、什么是Elasticseach2、Elasticsearch生态2、Elasticsearch结构3、Elasticsearch核心概念4、Elasticsearch 实现全文检索的原理 二、Elasticsearch入门1、入门-环境安装…

类文件结构详解

回顾一下字节码 在 Java 中&#xff0c;JVM 可以理解的代码就叫做字节码&#xff08;即扩展名为 .class 的文件&#xff09;&#xff0c;它不面向任何特定的处理器&#xff0c;只面向虚拟机。Java 语言通过字节码的方式&#xff0c;在一定程度上解决了传统解释型语言执行效率低…

RabbitMQ的应用

七种工作模式介绍 1.Simple(简单模式) P&#xff1a;生产者&#xff0c;也就是要发送信息的程序 C&#xff1a;消费者&#xff0c;消息的接收者 Queue&#xff1a;消息队列。图中黄色背景部分&#xff0c;类似一个邮箱&#xff0c;可以缓存发送信息&#xff1b;生产者向其中…

科研绘图系列:R语言组合堆积图(stacked plot)

文章目录 介绍加载R包数据数据预处理画图1画图2组合图形系统信息介绍 堆积图(Stacked Chart),也称为堆叠图,是一种常用的数据可视化图表,主要用于展示不同类别的数据量在总体中的分布情况。堆积图可以是柱状图、条形图或面积图的形式,其中各个类别的数据量被叠加在一起,…

测试概念以及测试bug

关于测试的概念 什么是需求&#xff1f; 需求分为用户需求和软件需求。 软件需求可以作为开发和测试工作的依据&#xff0c;而用户需求不一定是合理的&#xff0c;这里的不合理有很多的角度&#xff1a;技术角度上&#xff0c;市场需求上&#xff0c;投入成本和收益比噔噔。…