zoukankan      html  css  js  c++  java
  • 云时代架构读后感(十六)

    当当网系统分级与海量信息动态发布实践

    原文地址:

    https://mp.weixin.qq.com/s?__biz=MzIyNjE4NjI2Nw==&mid=2652557384&idx=1&sn=fe85ffb4b3b87737c43637a948a21cf4&chksm=f39a353cc4edbc2ae3f34f18bdd8d3cab16bc9384dc8dacc3a0ec682881bf0b777b2ae5c1e04&scene=21#wechat_redirect

    经过多年实践,当当网逐步完成系统架构的SOA化改造,并通过SOA化,实现了服务解耦与高内聚,简化了架构复杂度,这是主流零售型电商平台通常选择的道路。基于分布式的服务使系统具备更强的伸缩性和扩展性,系统瓶颈更易定位和优化,满足业务快速增长的需要。

     

    SOA即面向服务的架构,在业界并没有统一的标准,但有一些公认的设计原则:标准合约、松散耦合、服务抽象、可复用性、服务自治、无状态性、可发现性、可组合性。

     

    在实际应用过程中,根据系统情况以其中部分原则为侧重点,不求全责备,简单实用为上。

     

    2012年起,当当网启动一系列重点项目,首先对开放平台进行重构,使开放平台成为搭建在PIM、库存、价格、促销、订单、TMS等主业务系统之上一套具备更灵活的扩展性的业务平台。

     

    这次重构是当当网近年的重大架构调整之一,之后各主业务系统陆续实现业务平台化,支持多商家甚至是平台级跨商家的业务模式。开放平台将原有独立管理的商家商品信息、订单流程迁移至PIM系统和订单系统进行统一管理,充分发挥服务的可复用性,减少重复逻辑的多点实现带来的开发和维护成本。

     

    商品信息是电商业务系统中的核心主数据,是促销、价格、库存、礼券、搜索等系统的基础数据来源。PIM系统作为商品主数据系统,承担着管理商品基础数据、关系、品牌、类目和状态等信息的职能,商品数据量在千万级别。

     

    PIM系统的SOA建设经过了两个阶段。第一阶段主要是实现服务化,因服务设计粒度过细,发布的服务达到数百个,其他系统要完成一个业务功能可能需要调用多个PIM服务,增加了服务使用方的逻辑复杂度,也带来了更多的网络交互开销,不能称为SOA的最佳实践。

     

    为此,又进行了第二阶段改造,将第一阶段实现的服务定义为基础服务,根据业务需要将其组合,提供粗粒度的对外服务,解决了之前的问题。粗粒度服务能够提供独立的业务功能,可能同时依赖于多个系统的基础服务,当服务使用方因业务需要调用多个粗粒度服务时,可能会对同一个基础服务发起多次访问,产生叠加的系统压力。我们经过分析认为,底层服务资源的消耗能够简化上层应用逻辑,对于系统架构层次的合理性更为有益,只要提高底层基础服务的性能,上层服务能力将更具弹性。

     

    遵循SOA的系统解耦有时会增加系统资源开销,甚至降低部分服务性能指标,但可使系统架构更为清晰,增加服务复用性,具备更强的业务扩展性,提高开发测试效率,降低开发运维的人力成本,及时响应业务创新,使IT系统重现活力。

     

    通过上述系统架构治理,当当网以很少的临时性系统准备顺利度过2013年双11大促。

  • 相关阅读:
    Get distinct count of rows in the DataSet
    单引号双引号的html转义符
    PETS Public English Test System
    Code 39 basics (39条形码原理)
    Index was outside the bounds of the array ,LocalReport.Render
    Thread was being aborted Errors
    Reportviewer Error: ASP.NET session has expired
    ReportDataSource 值不在预期的范围内
    .NET/FCL 2.0在Serialization方面的增强
    Perl像C一样强大,像awk、sed等脚本描述语言一样方便。
  • 原文地址:https://www.cnblogs.com/wys-373/p/11020758.html
Copyright © 2011-2022 走看看