作业:

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

阿里巴巴淘宝的前后端技术方案

1.1淘宝整体架构


淘宝架构图如何剖析,从外围到内围,从左到右。外围都是用户,数据的生产者,内部是数据的消费存储者;左边都是数据处理的源头,右边到达大数据平台,是大数据的分析。经过大数据的分析,为运营和产品提供优化方向,进一步提供更好的产品、商品、活动,提高GMV、DAU等。

  • 解决的问题:解决重复造轮子的问题。阿里巴巴曾经说过很多部门为了5%的不同,重新开发了一套系统,这导致性价比很低。
  • 技术方案:催生出了中台,中间件,微服务等公用的功能呢。共性的内容由中台,中间件处理。
  • 手段:合并相同的部门,比如聚划算App、农村淘宝App,合并进了淘宝App。

1.2 淘宝App架构


淘宝APP通过插件的方式引入各个业务模块,实现轻量级可插拔的系统。上半部分未业务部门模块,通过下面的bundle模块和基础模块组合而成,很像乐高,比如手机淘宝,聚划算,淘点点,农村淘宝等。下半部分分为:Bundle为公用的业务模块,比如商铺、购物车、商铺详情等;底层bundle为基础功能模块,比如扫码、路由、热修复等。


单个Bundle内部架构,淘宝分为多个App,比如淘宝、天猫、聚划算等。每个App的架构都是一样的,分为业务层、核心层、基础层。

APP由URLRouter来解耦各个Bundle的互相引用。比如通过路由taobao://car可以访问到购物车模块,不管是Native还是H5都是用的同一个路由,通过参数区别调用Native还是H5,这样子就可以通过Server端下发参数的形式,或者App内部策略来实现降级(比如Native crash 连续crash2次以后,这个页面用H5打开)。并且不需要引入跟个类的头文件,通过Protocol接口的方式实现。

  • 解决的问题:解决重复造轮子的问题。阿里巴巴有多款App,很多组件可以复用,比如购物车,订单,搜索,商品列表,商品详情,旺信聊天等。
  • 技术方案:组件复用,插件化开发。
  • 手段:框架以及壳工程(初始工程)由基础架构部门出方案,组件库由基础架构部门,或者友部门共享。

1.3 Flutter架构


Flutter为Google出品, 用Dart语言编写,实现一次编写,实现跨端运行iOS,Android。因为React-Native是通过iOS WebKit的bridge,Android的V8引擎来解析H5,最后生成纯Native代码,性能多多少少有点被诟病。Flutter解决性能问题,并且兼容Google下一代Web操作系统。所以阿里巴巴、腾旭、字节跳动都早早的入局Flutter。

  • 解决的问题:App Native原生开发成本太高,维护成本高,开发速度慢。
  • 技术方案:Flutter 开发一次,最终是渲染为Native原生组件,iOS、Android两个平台公用一套代码。性能比较ReactNative 高。
  • 手段:通过桥接技术转换为native代码。

1.4 大前端未来


Flutter这些跨端的技术,相对还有代码维护的噩梦。比如很多老代码都是推倒重来,现在Google,Microsoft都在大力收购无代码编程公司。详情可以参考下面链接。
https://www.softwaretestinghelp.com/low-code-development-platforms/

  • 解决的问题:Flutter这些跨端的技术,相对还有代码维护的噩梦。比如很多老代码都是推倒重来。
  • 技术方案:更细粒度的组件化工具,通过拖拽能实现功能。
  • 手段:减少代码干预,降低犯错误的概率。

极客大学架构师训练营 系统架构 淘宝架构 第四次作业相关推荐

  1. 极客大学产品经理训练营 产品文档和原型 作业4

    作业 [本周作业]写一个用例,挑一个:你自己的产品 / 你喜欢的产品 / [拍东西]发起拍卖/ [知识星球]加入星球/ [极客时间]购买课程: 1. 标题作者修改历史 标题:[极客时间]购买课程 作者 ...

  2. 极客大学产品经理训练营:业务流程与产品文档 第11课总结

    讲师:邱岳 1. 原型图 1.1 手绘图 + Scanner Pro 1.2 线框图 1.3 高保真产品图 1.4 做原型图的目的 坍缩:规划时梦到自己成了乔布斯,赶紧画个图让自己冷静冷静: 具体:具 ...

  3. 极客大学产品经理训练营:产品文档和原型咋弄 - 流程图 第9课总结

    讲师:邱岳 1. 图的意义 流程图.活动图.时序图.状态图,本次聚焦于过程和行为描述. 提效.宏观.点睛. 梳理思路 用例:做什么? 流程图:怎么做? 2. 流程图.活动图.时序图 3. 动手画 – ...

  4. 极客大学产品经理训练营 极客时间购买课程-大作业

    1. 标题作者修改历史 标题:[极客时间]购买课程 作者 历史 时间 易筋 创建 2021-01-09 易筋 添加购买流程图6 2021-03-02 易筋 添加购买时序图7 2021-03-16 2. ...

  5. 极客大学产品经理训练营:数据分析与商业分析,商业分析到业务分析 第18课总结

    讲师:邱岳 1. 产品经理眼中的利润.成本.收入 利润 = 收入 - 成本 奶茶利润率极高,达到60%左右.但是奶茶盈利比较难. 所有买水的产品利润率都极高,比如可口可乐,咖啡,奶茶等. 案例:有个面 ...

  6. 极客大学产品经理训练营:业务架构与概念模型 第10课总结

    讲师:邱岳 1. 什么是状态图 系统中的概念或对象随着一些事件的发生,改变了状态,通常这个状态比较多.比较复杂时,我们需要用状态图来表示他们的边界,以及触发状态转换的活动. 2. 动手画 – 员工状态 ...

  7. 极客大学产品经理训练营 解决方案的设计与积累 第6课总结

    说明 讲师:邱岳(二爷) 1. 解决方案 解决方案的前提是明确了 利益相关者 和 待解决的问题 出解决方案是产品经理的天职,不要直接转发 注意 X-Y Problem,核心关注 X 大量的练习/模仿/ ...

  8. 《沈剑架构师训练营》第7章 - 架构解耦

    34.解耦:配置中心,与配置架构演进. no34:配置文件架构有什么核心痛点? 1.上游痛:扩容的是下游,改配置重启的是上游(耦合,典型反向依赖) 2.下游痛:不知道谁依赖于自己(难以实施服务治理) ...

  9. 极客大学产品经理训练营 认识产品经理下 第2课总结

    说明 讲师:邱岳(二爷) 分享提纲 互联网产品经理的能力模型 互联网产品经理的个人素质 产品经理的特质与气场 互联网产品经理的职业发展阶段与晋级之路 互联网产品经理的若干真相 1. 产品经理的能力模型 ...

  10. 《沈剑架构师训练营》第8章 - 架构分层

    40.分层:互联网分层架构方法论 no40:互联网分层架构的的本质是什么? 这是一个「数据移动」,然后「被处理」,被「呈现」的过程 no40:数据移动过程中最重要的两点是什么? 1.数据传输的格式 2 ...

最新文章

  1. mysql 多个if_mysql if else 多条件
  2. Keras之DNN:利用DNN算法【Input(8)→12+8(relu)→O(sigmoid)】利用糖尿病数据集训练、评估模型(利用糖尿病数据集中的八个参数特征预测一个0或1结果)
  3. android fastjson漏洞_【漏洞预警】Fastjson 远程代码执行漏洞(暂无PoC)
  4. VTK:循环收缩用法实战
  5. 微服务和Java EE
  6. Mac下安装event库
  7. C++中两个常用的控制语句格式的函数(width和precision函数)
  8. cad2010多个文件并排显示_便携式显示器清晰度参数,你知道吗?
  9. java多线程总结(二)
  10. sscanf 实现_中国实现全球首个5G独立组商网,5G还没铺完6G重磅方案已经出台!...
  11. 华为云GaussDB:发挥生态优势,培养应用型DBA
  12. 一秒语音是什么软件,微信一秒语音包软件
  13. 众多电子秤方案免费拿~挑一个?
  14. 索尼耳机的降噪功能怎么样?
  15. unbuntu下gedit编辑花屏(重影 )问题解决
  16. niosII处理器与串行D/A转换器接口设计
  17. CV中domain adaptation领域自适应问题
  18. 天津2019全国计算机二级,2019年上半年全国计算机等级考试报名啦
  19. html旅游地图制作,pyecharts 实现画地图 足迹 旅游
  20. SMT在生产时,对环境温度的要求有哪些?

热门文章

  1. 微信分享链接php,微信实现分享链接的缩略图和标题
  2. Ajax用法返回Json
  3. vue读取本机的excel文件的两种方式
  4. 中国芯热情高涨 步履也更为坚实 近期我国多家企业再获“芯”突破
  5. 解密阿里线上问题诊断工具Arthas和jvm-sandbox
  6. 一粒云盘发布v3.5版本
  7. java regex详解
  8. SSL证书配置注意事项
  9. 一个小小的发现--音频也八卦
  10. 至今为止碰到的非常妖怪的计算机问题