彩神8大发快3下载官方TalkingData何坤:如何搭建高可用的数据服务交易系统?

  • 时间:
  • 浏览:1
  • 来源:彩神网快3官方-彩神大发快3

【51CTO.com原创稿件】2017年12月01-02日,由51CTO主办的WOTD 2017全球软件开发技术峰会在深圳中洲万豪酒店召开。自2012年以来,WOT品牌大会成功举办了14届,积累了少量的技术专家资源,获得了广大IT从业者和技术爱好者的一致认彩神8大发快3下载官方可,成为了业界重要的技术分享交流平台以及人脉拓展平台。本次会议蕴藏 :编程语言与框架,大数据彩神8大发快3下载官方系统埋点、微服务与容器技术、前端开发实战、物联网(IoT)技术、软件性能优化等10大技术主题。

在大数据系统埋点专场,来自TalkingData的资深Java工程师何坤分享了主题为《高可用数据服务交易系统架构实践》精彩演讲,介绍了TalkingData在搭建高可用数据服务系统的过程中,准确计量系统的设计、实现和演进等内容。

演讲中,何坤介绍了TalkingData智能数据服务商城SDMK(Smart Data Market)。SDMK是哪些?它提供多种形式的数据服务,包括 API 服务、人群数据服务、异步服务等,还开放了Lookalike,情景感知,预测引擎,推荐引擎等人工智能服务。通过哪些数据服务,还要能降低数据应用场景的难度,帮助更多企业发现数据的高度价值。

所谓实践出真知,谈及智能数据服务商城实践的经验心得,何坤从何何如彩神8大发快3下载官方证数据服务交易系统的高可用,何如做到准确计量等多个方面与51CTO记者进行了交流。

何如搭建高可用的数据服务交易系统?

作为基础设施,有好多好多 应用依赖于SDMK提供的服务,SDMK的自彩神8大发快3下载官方身的总体可用性时需比它们时需高。考虑到南向服务的多样性和不可靠性,嘴笨 非要做服务有四种 的可用性保证,或多或少要能做到服务不可用时,能以离米 的办法通知用彩神8大发快3下载官方户。或多或少,在SDMK构建过程中,TalkingData技术团队充分考虑了系统的可用性。

何坤表示,愿意搭建一个多多高可用的数据服务交易系统,不仅要做好梳理好业务流程,划分出具体的系统功能模块等哪些常规工作。同時 ,在可用性上,系统时需达到两点要求:一是,计量最终误差要求,不高于0.01%;二是,交易系统可用性要求,不低于99.9%。

何如做到准确计量,保证计量误差不高于0.01%?

越来越,当我们当我们 究竟该何如做到准确计量?对此,何坤认为,首先当我们当我们 要明确准确计量的概念,它有两层含义:一是,实时数量的准确性;二是,最终数量的准确性。但实时准确与高并发是一对矛盾,或多或少非要做到最终准确+高并发,牺牲一定的实时数量准确性,也好多好多 我说,实时计量会有一定误差。或多或少,当我们当我们 时需在保证最终准确性的前提下,尽量提高实时准确性。

此外,为了保证服务高并发和高QPS下服务的响应时间,还要能使用“异步计量”的办法。在趋于稳定故障时,选则尽量确保服务可用,容忍肯能的超量;在故障后恢复数据,满足最终准确的要求。

何坤表示,有四种 选则“异步计量”的办法而前会“同步计量”的办法,是肯能:

1.对数据库压力大;

2.每次调用效率变长,不容易保证主流程效率稳定;

3.MySQL不易扩展,要做分库分表;

4.异步计量容易洗数;

5.扩展性好,牵涉到异步服务的所有组件,ES,Kafka,Redis前会原生就支持方便扩展的。

此外,为了保证最终一致性,同時 让实时准确性尽量达到目标,TalkingData采用了Lambda架构来降低准确性和高并发下实时的矛盾。

何何如证系统可用性不低于99.9%?

记者了解到,整体服务的高可用性,不止故障转移你你你这个个多多点,它包括一个多方面:事前的预防、事中的自动化故障转移、事中的故障感知、事后的故障恢复。

何坤表示:“可用性身后是故障,当我们当我们 预防故障的趋于稳定,在故障趋于稳定的以前及时做到故障转移和故障的感知,或多或少在感知到故障以前能比较快速地恢复故障,恢复以前能做到复盘肯能改进,就回到预防你你你这个环,形成良性的循环。”

要想保证交易系统可用性不低于99.9%,何坤建议还要能一个多多多做:

***,采用分布式部署,无情况汇报设计。采用服务无情况汇报设计,把必要的情况汇报保趋于稳定中央存储中(MySQL/Redis等);所有调用时需带trackid,以便定位问题,缩短故障恢复时间。

第二,还要能专注于核心业务,降低关键路径冗杂性与负载,并适时拆分和合并功能模块,降低模块冗杂度。

第三,对资源的使用进行限制,处置无效调用肯能故障耗尽资源。可采用熔断机制,分服务SLA,独立适配器,限制pending情况汇报等办法,从用户和服务一个多多方向来进行。

第四,消息系统的选则时需要能保证数据可持久化,支持订阅和队列有四种 办法,具有高性能和高扩展性。

第五,做好监控与报警。所有服务上线以前时需有基本监控与报警,比如:基础组件监控与报警、业务指标监控与报警、调用追踪系统等。

第六,减少更新带来的故障,肯能大多数故障前会更新引起的。对此,还要能采用灰度系统,基于用户id分流,而前会随机分流。无论gateway请求还是页面请求,所有的请求都带用户id,或多或少还要能基于你你你这个形状在Nginx中写Lua来识别用户,读取后端配置的灰度用户列表,决定是进入灰度系统还是正式生产系统。接入灰度的还要能是友好用户,也还要能是守护用户。或多或少要注意做好守护用户数据的隔离,从不污染生产数据的统计分析。

此外,何坤强调,为了保证系统的高可用,一方面,要做好功能实现的演练测试;买车人面,研发人员时需深入地切入到运维层面,肯能开发出的产品并前会实现了所有功能好多好多 我完成了任务,还时需发现并处置产品运行过程中趋于稳定的问题,或多或少会出先脱节的情况汇报。

***,何坤表示,在设计系统时,除了计量有四种 的逻辑之外,计量是和可用性是密切联系在同時 的。肯能可用性过高 高,肯还要能及时纠正运行过程中的错误,越来越就会影响计量。比如:肯还要能快速的恢复数据,越来越准确性也无法保证。

【讲师简介】

TalkingData资深Java工程师何坤

何坤主要负责Smart Data Market研发,主导开发了智能数据服务商城,为超过50家客户以高SLA提供数百个在线数据服务。在基于微服务的高并发高可用Saas系统设计实现运营方面具有丰厚经验。以前曾任职于甲骨文,安捷伦科技等公司。敏捷开发和DevOps的践行者。

【51CTO原创稿件,媒体媒体合作站点转载请注明原文作者和出处为51CTO.com】

【责任编辑:

蓝雨泪

TEL:(010)68476506】



点赞 0