翻译的是个 把法语翻译成中国人看不懂的汉语叫翻译?想读下去的换下面那个版本读吧。
一群神经病,疯子,变态,杀人狂等等等等,用缜密,谨慎,逻辑,诙谐的行动改变着世界。 我真是太喜欢他们了,看的热血沸腾的。每一个人物都刻画鲜明,尤其是左道,他那个职业一栏填的“道士”真是笑死我了。 原谅我的浅薄,我真是被一群变态给吸引的无法自拔。
全文精读-总结 为什么要做中台? 传统的系统架构是烟囱式的,有以下弊端: 1、重复建设 2、企业数据被分散在各个子系统中,系统之间的交互和集成成本高 3、不利于业务的沉淀和持续发展 为什么ESB不行? 1、ESB是中心化架构,有单点问题,容易形成性能瓶颈 2、ESB重集成,重稳定,不利于进行业务沉淀与运营 为什么采用共享服务架构: 1、将相关业务的数据和服务能力在统一收拢,支撑所有前台业务的快速迭代 2、有利于业务的沉淀,培养既精通业务,又熟悉技术的复合型人才,同时基于海量数据,进行业务深度运营和创新 共享服务架构 提供什么能力? 1、服务能力(B端C端、内部外部客户),主要支撑在线业务 2、数据能力(大数据离线实时接口),主要支撑业务运营、微服务运维架构 引入服务中心 1、根据业务和数据的完整性和独立性划分,比如用户中心、商品中心、交易中心等 2、务实原则,不做理想化和太超前的架构设计,尤其不要拆分太细,会造成延时过长、分布式事务过多等性能问题 服务化框架的选择? 微服务HSF 数据库能力的扩展 1、通过服务中心,天然做了一次业务领域的垂直数据分区 2、读写分离、分库分表(异构索引表降低全表扫描频率,82法则,20%的频繁查询业务做异构索引,其他情况忍受全表扫描,降低系统复杂度) 3、不同的数据访问模式采取不同的数据库类型: 定位少量记录用关系型数据库 实时海量数据定位或者聚合计算用分布式列式存储hbase 结构化数据模型访问redis scheme扩展mongodb 离线计算hadoop 流式计算flink 系统间实时数据交互用消息队列 复杂条件实时查询采用搜索引擎 异构索引表:比如基本表用订单id做分区,可以增加一个以用户id为分区的异构索引表,避免用户维度数据查询时的全表扫描;可以类比为关系型数据库中的非聚集索引;精卫是一个MySQL的数据触发器+分发管道,可以用来构建异构索引表 分布式理论 zk属于CP,当master挂掉后,会停止服务,等重新选举结束后,才能提供服务。 实际系统中的共识系统,一般都通过维护一个单点,实现全序广播,进而实现共识;同时通过两次投票(一次选出master,一次对master发起的提议进行表决)实现共识,两次投票都必须超过半数参与者,保证两次投票至少存在一个重叠的节点,该节点的存在证明,是最近一次选出的master发起了提议,并且被大家投票通过 BASE理论=基本可用+柔性状态+最终一致,允许不同节点间副本同步的延时就是柔性状态的体现,比如MySQL Replication的异步复制 分布式事务 1、2PC,两阶段过程中,资源处于锁定状态,无法支持高并发 2、柔性事务 日志方式:通过日志进行解耦,减少资源锁定时间,在互联网业界采用日志方式实现柔性事务的比例非常大,但并没有如XA这样的技术标准和规范,实现非常的粗糙,只是简单的采用数据库进行了分布式事务过程中的状态记录,对于事务中异常处理和补偿回滚支持是明显不够的,并不能完全意义上的满足业务的最终一致性,而且一旦出现问题,所投入的人力维护成本也非常高 基于事务消息 a、本质上是通过消息,将事务解耦,减少资源锁定时间 b、在MQ发送方(即整个分布式事务的发起方)执行第一个本地事务前,会向MQ服务端发送一条事务消息(事务消息功能是阿里MQ平台特有的一个功能特性),事务消息在MQ的服务端处于一个特殊的状态,等待被rollback或者commit c、在采用消息服务实现分布式事务的场景如果出现异常时,一般会采用正向补偿的方式,会通过消息的不断
翻译的是个 把法语翻译成中国人看不懂的汉语叫翻译?想读下去的换下面那个版本读吧。
一群神经病,疯子,变态,杀人狂等等等等,用缜密,谨慎,逻辑,诙谐的行动改变着世界。 我真是太喜欢他们了,看的热血沸腾的。每一个人物都刻画鲜明,尤其是左道,他那个职业一栏填的“道士”真是笑死我了。 原谅我的浅薄,我真是被一群变态给吸引的无法自拔。
全文精读-总结 为什么要做中台? 传统的系统架构是烟囱式的,有以下弊端: 1、重复建设 2、企业数据被分散在各个子系统中,系统之间的交互和集成成本高 3、不利于业务的沉淀和持续发展 为什么ESB不行? 1、ESB是中心化架构,有单点问题,容易形成性能瓶颈 2、ESB重集成,重稳定,不利于进行业务沉淀与运营 为什么采用共享服务架构: 1、将相关业务的数据和服务能力在统一收拢,支撑所有前台业务的快速迭代 2、有利于业务的沉淀,培养既精通业务,又熟悉技术的复合型人才,同时基于海量数据,进行业务深度运营和创新 共享服务架构 提供什么能力? 1、服务能力(B端C端、内部外部客户),主要支撑在线业务 2、数据能力(大数据离线实时接口),主要支撑业务运营、微服务运维架构 引入服务中心 1、根据业务和数据的完整性和独立性划分,比如用户中心、商品中心、交易中心等 2、务实原则,不做理想化和太超前的架构设计,尤其不要拆分太细,会造成延时过长、分布式事务过多等性能问题 服务化框架的选择? 微服务HSF 数据库能力的扩展 1、通过服务中心,天然做了一次业务领域的垂直数据分区 2、读写分离、分库分表(异构索引表降低全表扫描频率,82法则,20%的频繁查询业务做异构索引,其他情况忍受全表扫描,降低系统复杂度) 3、不同的数据访问模式采取不同的数据库类型: 定位少量记录用关系型数据库 实时海量数据定位或者聚合计算用分布式列式存储hbase 结构化数据模型访问redis scheme扩展mongodb 离线计算hadoop 流式计算flink 系统间实时数据交互用消息队列 复杂条件实时查询采用搜索引擎 异构索引表:比如基本表用订单id做分区,可以增加一个以用户id为分区的异构索引表,避免用户维度数据查询时的全表扫描;可以类比为关系型数据库中的非聚集索引;精卫是一个MySQL的数据触发器+分发管道,可以用来构建异构索引表 分布式理论 zk属于CP,当master挂掉后,会停止服务,等重新选举结束后,才能提供服务。 实际系统中的共识系统,一般都通过维护一个单点,实现全序广播,进而实现共识;同时通过两次投票(一次选出master,一次对master发起的提议进行表决)实现共识,两次投票都必须超过半数参与者,保证两次投票至少存在一个重叠的节点,该节点的存在证明,是最近一次选出的master发起了提议,并且被大家投票通过 BASE理论=基本可用+柔性状态+最终一致,允许不同节点间副本同步的延时就是柔性状态的体现,比如MySQL Replication的异步复制 分布式事务 1、2PC,两阶段过程中,资源处于锁定状态,无法支持高并发 2、柔性事务 日志方式:通过日志进行解耦,减少资源锁定时间,在互联网业界采用日志方式实现柔性事务的比例非常大,但并没有如XA这样的技术标准和规范,实现非常的粗糙,只是简单的采用数据库进行了分布式事务过程中的状态记录,对于事务中异常处理和补偿回滚支持是明显不够的,并不能完全意义上的满足业务的最终一致性,而且一旦出现问题,所投入的人力维护成本也非常高 基于事务消息 a、本质上是通过消息,将事务解耦,减少资源锁定时间 b、在MQ发送方(即整个分布式事务的发起方)执行第一个本地事务前,会向MQ服务端发送一条事务消息(事务消息功能是阿里MQ平台特有的一个功能特性),事务消息在MQ的服务端处于一个特殊的状态,等待被rollback或者commit c、在采用消息服务实现分布式事务的场景如果出现异常时,一般会采用正向补偿的方式,会通过消息的不断