HTML5技术

.net 大型分布式电子商务架构说明 - 车江毅(2)

字号+ 作者:H5之家 来源:H5之家 2015-11-06 09:49 我要评论( )

主要是解决业务的后端任务挂载,隔离,定时调度,任务出错报警等。未来可以做到父子任务的关联,任务资源的自动分配和协调,任务的故障转移和均衡。那么网络爬虫,报表分析,弹性计算等资源型任务就可以适用了。 统

         主要是解决业务的后端任务挂载,隔离,定时调度,任务出错报警等。未来可以做到父子任务的关联,任务资源的自动分配和协调,任务的故障转移和均衡。那么网络爬虫,报表分析,弹性计算等资源型任务就可以适用了。

 

         统一监控平台(开源地址: 博文:)

         每个公司对监控的需求其实都不一样,一般会根据业务不同,根据架构不同,根据基础服务不同,会不同程度的抓取和集成一些性能指标,业务日志,错误日志,耗时性能,流量等等至监控平台。市面上有很多大而全的监控平台,其实也都提供了sdk做二次开发,目的也在于此。

毕 竟业务不同,服务器环境不同,架构基础设施不同,自然关注的性能点和指标参数也都不一样,故从长远发展,监控平台对整个分布式系统的稳定性是具备关键性作 用。大型的分布式电子商务系统,监控平台本身就是大量系统性能分析师的分析思路,分析技巧的总结和沉淀。当然中小型的企业,可以直接使用第三方监控工具, 但是性能分析往往是事后的,非及时性的;又或者第三方的监控工具很多,却没有有效的整合在一起,真正分析性能的时候却一片茫然。又或者大型项目单个操作涉 及的系统或服务很多,需要拿到分布式的调用堆栈和调用链…. 种种这些都难免需要公司沉淀自己的监控平台。

 

服务中心(暂未开源)

主要是解决多个项目之间的同步调用,项目的公用api下沉,及远程调用服务的负载均衡,性能监控,预警等等。当前其本质上是服务的管理,公开,协调,运维等,满足业务soa的架构设计。特别是未来对业务细化拆分,模块化,同步解耦起关键作用,类似淘宝的HSF

 

分布式锁(开源地址: 博文:)

分布式锁服务的应用即便在大型业务项目中都不应该经常使用,特别是对性能要求较高的功能,不建议使用或谨慎使用。任何使用分布式锁的功能建议进行codereview和使用论证。理论上分布式锁常用于基础设施服务的分布式协调,但是一些业务对一致性要求较高,特别对瞬间并发导致相同业务同时执行的要求特别高,需要采用分布式锁,否则不采用。

 

配置中心(暂未开源)

主要是解决多项目之间的配置聚合及统一管理,同时具备配置的及时更新。若集成任务调度服务可以做到配置的负载均衡和配置的故障转移等。为什么要解决公司的项目配置?公司项目从页面前端,采购,物流,配送,财务,b2b等 具有多个项目,多个项目各自同样具有多个服务,多个后台任务,这些程序都互相独立,且部分需要负载均衡(未来数量将达到上千个数量)但是又经常需要公用同 一套配置体系。若每个程序都配置同一个配置信息,那么未来做某个配置信息的迁移或者更新,运维和开发人员根本不知道哪里需要更新。故配置的聚集管理在大型 项目中是非常有必要的。而且基于配置中心也可以实现热切换,自动故障转移,软性负载等分布式的服务管理能力。

 

以 上这些仅仅是目前公司根据业务发展需要使用的一些基础服务,当然很多公司也会根据自身的业务需求使用分布式存储,分布式搜索引擎等,也会根据自身对基础服 务的可靠性要求,稳定性要求选择不同的开源基础服务框架进行改造,或者直接使用或者二次封装。从架构师的视角,针对业务发展,要谨慎选择,又要谨慎考虑是 否需要重复造轮子。

文中介绍的相关基础服务可加入开源QQ群: .net开源基础服务,238543768 一起交流心得。

 

私有云、混合云建设

         很多创业公司初期,特别是电子商务类型的公司,可以会优先考虑第三方云计算平台来搭建整个平台和架构,自然更多的可能是基于成本,资源,人手方面考虑。但是当公司发展到一定程度,建立自己的机房可能是非常必要的选择。个人认为云计算的服务器(ecs)达到60-100台集群的时候,考虑搭建公司的机房已经非常有必要了,而当机房的物理机器达到20台的时候,可能也需要考虑放弃单纯的kvm,转而使用openstack及配合使用dockercontainer等容器技术会更加合适。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Dora.Interception: 一个为.NET Core度身定制的AOP框架 - Artech

    Dora.Interception: 一个为.NET Core度身定制的AOP框架 - Artech

    2017-05-02 11:00

  • 如何在 ASP.NET Core 中发送邮件 - Savorboard

    如何在 ASP.NET Core 中发送邮件 - Savorboard

    2017-05-02 08:02

  • 十二个 ASP.NET Core 例子 - Savorboard

    十二个 ASP.NET Core 例子 - Savorboard

    2017-04-27 16:01

  • ASP.NET MVC5请求管道和生命周期 - 雪飞鸿

    ASP.NET MVC5请求管道和生命周期 - 雪飞鸿

    2017-04-24 08:04

网友点评
1