上一篇文章,我摘录了《程序员的呐喊》。这本书有趣的内容太多,今天再摘录一段。

1、

亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商。它是怎么实现从电商到云商的转变呢?

一切都是CEO杰夫·贝索斯促成的,他对市场有着超乎常人的理解和预见。

2、

2000年前后,贝索斯有一次在员工大会上提到,各种办公工具、书籍、影音制品都可以数字化,所以也意味着很容易盗版。数字产品可能会利润越来越低,很快就不再产生任何收入了。

所有的民用工业品也都很不妙,服装和电子消费品的消费周期越来越短。连烤炉这种东西,也没人想要去年的型号。总之,卖这些东西,看上去也不太会赚大钱。

亚马逊未来靠什么赚钱,贝索斯不仅忧心忡忡。

3、

2002年,贝索斯突然向全公司发布了一道指令。

(1)从今天起,所有的团队都要以服务接口的方式,提供数据和各种功能。

(2)团队之间必须通过接口来通信。

(3)不允许任何其他形式的互操作:不允许直接链接,不允许直接读其他团队的数据,不允许共享内存,不允许任何形式的后门。唯一许可的通信方式,就是通过网络调用服务。

(4)具体的实现技术不做规定,HTTP、Corba、PubSub、自定义协议皆可。

(5)所有的服务接口,必须从一开始就以可以公开作为设计导向,没有例外。这就是说,在设计接口的时候,就默认这个接口可以对外部人员开放,没有讨价还价的余地。

(6)不遵守上面规定,就开除。

他意识到,亚马逊现有的卖书送书的基础设施,其实可以变成一个非常出色、可定制的计算平台,让用户付费使用。但是前提是,整个基础设施必须改造成面向服务的架构。

4.

接下来的几年里,亚马逊全公司都转向了面向服务的架构(SOA)。这个过程中,工程师们得到了大量的经验教训。

教训一:SOA架构的错误定位,非常麻烦。

一个请求可能要经过20次服务器调用,才能找到问题的真正所在。通常,单单是问题的定位就要花费15分钟到几个小时,除非搭建大量的外围监控和报警措施。

教训二:同事也是潜在的 DOS 攻击者。

公司内部某个小组,会突然对你的服务发起大量请求。除非每个服务都设有严格的用量和限量措施,否则根本无法保证可用性。

教训三:监控和质量保障(QA)是两回事。

监控一个服务的时候,可能会得到"一切正常"的回复。但是很有可能,整个服务唯一还正常工作的部分,就是这个回应"一切正常"的模块。只有完整地调用服务,才能确定服务是正常的。

这意味着,真正监控一个服务,必须做到对所有的服务和数据进行完整的语意检查,否则是看不出问题的。如果做到了这一点,本质上就是在做自动化 QA 了。

教训四:必须有服务发现机制。

面对成百上千的服务时,没有服务发现机制是不可想象的。这又离不开服务注册机制,而它本身也是一个服务。亚马逊有一套统一的服务注册机制,可以通过编程的方式找到所有服务,包括一个服务有哪些API,目前是不是运行正常,在什么位置等。

教训五:必须有沙箱用来调试

如果代码中调用了他人服务,查找问题的难度要高很多,除非有统一的方式在沙箱里运行所有服务,否则几乎不可能进行任何调试。

教训六:不能信任任何人

团队采用服务的方式进行合作以后,基本上就不能信任其他团队了,正如不能信任第三方工程师一样。

原文地址:http://www.ruanyifeng.com/blog/2016/09/how_amazon_take_soa.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

亚马逊如何变成 SOA(面向服务的架构)?相关推荐

  1. TP-Link基于亚马逊云科技部署面向运营商的IoT云管平台

    很多出海企业经常面临着加速多线布局谋求更快发展与既有架构难以支撑的两难之境,此时寻求业务伙伴的支持成为了一个普遍选择,亚马逊云科技对TP-Link的助力即是一个"好风凭借力,送我上青云&qu ...

  2. 每日新闻丨华为被拘留前员工再回应;亚马逊云发布量子计算服务Braket预览;硅谷“六巨头”10年避税超千亿美元...

    趋势洞察 工信部:前10月规模以上互联网业务收入9902亿元 同比增21% 工信部发布的数据显示,1-10月,我国规模以上互联网和相关服务企业完成业务收入9902亿元,同比增长21%,增速同比提高3个 ...

  3. 苹果亚马逊同一天公布无损音质服务、 Google与Flutter、Snap 的 AR 战事等|Decode the Week...

     Decode the Week ≠音视频技术周刊  Credit:Si Ping /News Briefing.  苹果与亚马逊同一天公布无损音质服务  苹果公司宣布今年 6月 将无损音质引入 Ap ...

  4. WirelessCar借助亚马逊云科技的安全服务,实现车端到云端的数据安全

    2022年7月18日亚马逊云科技宣布,全球领先的互联汽车服务提供商WirelessCar(维瑞联行)选择亚马逊云科技为首选云服务提供商,构建领先的互联汽车解决方案,打造全场景服务能力.借助亚马逊云科技 ...

  5. 基于亚马逊云科技无服务器服务快速搭建电商平台——部署篇

    概览 受疫情影响消费者习惯发生改变,刺激了全球电商行业的快速发展.除了依托第三方电商平台将产品销售给消费者之外,企业通过品牌官网或者自有电商平台销售商品也是近几年电商领域快速发展的商业模式. 独立站电 ...

  6. 谈谈SOA面向服务体系架构的安全问题

    谈谈SOA面向服务体系架构的安全问题 本文我们讨论的是面向服务体系架构(SOA)的安全应用.在展开讨论之前,首先让我们来解析面向服务体系架构的实际含义.面向服务体系架构是一种涉及若干以服务为导向的应用 ...

  7. SOA面向服务的架构设计

    目录 面向服务的架构 1 SOA 概述 1.1. 服务的基本结构 1.2.SOA 设计原则 1.3. 服务构件与传统构件 2 SOA 的关键技术 2.1. UDDI 2.2.WSDL 2.3.SOAP ...

  8. SOA面向服务的架构概念梳理

    原文地址来自:http://baike.baidu.com/link?url=C9VVTLY58Vt1JyJy0oakTA5cPp8kgT375lOujSFWtyo05hQWAQ7XltmN2W1fe ...

  9. 跨境早报| 亚马逊FBA推配送新服务!Shopee全面开放巴西站点广告功能

    跨境电商科技大会阵容曝光 3月18日-20日,由商务部外贸发展事务局等单位主办的中国跨境电商交易会将在中国福州海峡国际会展中心正式启幕.届时,紫鸟浏览器将在3月19日分会场主办跨境电商科技大会. 据悉 ...

最新文章

  1. chrome手机模拟器显示尺寸不正确
  2. matlab平面绘图命令
  3. rewrite 伪静态,地址重写
  4. python的rsa公钥解密方法
  5. 设计师们还不快着手准备圣诞海报?PSD分层模板,轻松交稿
  6. ORA-04031:unable to allocate 4120 bytes of shared memory ‘obj stat mem’故障解决
  7. Java 匹配域名正则表达式
  8. easydarwin
  9. MotoSimEG-VRC软件:安川机器人摆动焊接虚拟仿真操作方法
  10. word文字怎么竖向排列_word怎么把字体竖着 如何在WORD中竖排文字
  11. 7.4. Combining Queries
  12. download 下载文件 IE兼容性处理
  13. 百度云-图像处理-动漫人物
  14. 基于STM32之控制步进电机,学到即赚到!(含主代码)
  15. 如何制作gif表情包?试试这个gif表情包制作神器!
  16. 从git上克隆的vue项目在本地运行步骤
  17. java信徒齐(七)步走
  18. 用代码恶搞基友的小玩意儿
  19. UE4学习笔记:混合空间(BlendSpace)的使用
  20. 如何开发一个水果识别,水果识别系统,蔬菜识别系统,果蔬识别系统毕业设计毕设作品

热门文章

  1. Oracle hang 之sqlplus -prelim使用方法
  2. cisco路由器NAT配置
  3. Avalonia跨平台入门第二篇
  4. 微软加入字节码联盟,进一步开发支持Blazor 的WebAssembly技术
  5. 为 CefSharp 应用内置 C++ 运行环境并启用 AnyCPU 支持
  6. 还不明白可空类型原理? 我可要挖到底了
  7. .NET 5 中的正则引擎性能改进(翻译)
  8. EntityFramework Core 3.x添加查询提示(NOLOCK)
  9. 就喜欢用vSphere部署K8s集群,不全是因为自动化!
  10. gRPC in ASP.NET Core 3.x -- Protocol Buffer, Go语言的例子(下)