当前位置:   article > 正文

提升技术认知,参加2021上海QCon技术大会_从零打造一个没有数据库的金融级账务系统——ebay 支付账务系统架构演进之路

从零打造一个没有数据库的金融级账务系统——ebay 支付账务系统架构演进之路

文章首发于公众号【看点代码再上班】,欢迎围观,获取更多好文。

原文地址:提升技术认知,参加2021上海QCon技术大会!

 全文共计6499字,预计阅读时间15分钟

目录

开篇

第一天-上午

签到&前记

主题演讲

一、《把内容交付这件事做好》

二、《Toward Software Performance Evaluation at Scale: A Journey》

三、《开源开放,人人贡献:极狐(GitLab)的开源之道》

四、《从云原生到原生云:企业规模化智能增长的最佳实践》

五、《企业级云原生应用管理》

第一天-下午

打造高效研发团队&微服务大道至简

一、《研发效能提升“双流模型”探索与实践》

二、《ToB 高效能研发体系构建实践》

三、《基于Prometheus的微服务监控探索与实践》

四、《研发效能的度量体系建设实践》

第一天-晚上

浦东&外滩

第二天-上午

《架构演进》主题

《从零打造一个没有数据库的金融级账务系统——eBay 支付账务系统架构演进之路》

《API 网关》主题

《喜马拉雅百亿级 API 网关南天门架构演进》

《解析性能优化》主题

《G1 GC 性能优化实战》

第二天-下午

一、《面向云原生的应用算力架构》

第三天-上午

《高并发与高可用》主题

《与流量赛跑——机票盲盒活动背后的故事》

《海量存储优化》主题

《百万亿级云存储系统挑战与实践》

第三天-下午

《高并发于高可用》主题

一、《RocketMQ5.0,生于云、长于云的新一代“消息、事件、流”融合处理平台》

二、《异地多活——携程 MySQL 实时双向(多向)复制》

后记

结语


大家好,我是tin,这是我的第9篇原创文章

开篇

2021年10月21日-23日,在上海宝华万豪酒店参加了QCon全球软件开发大会 2021上海站会议,感触颇多,第一天听会议就觉得值,特此记录下来。

本文仅通过流水式记录三天行程事宜,非技术分享。关于技术的分享后续会单独再写。

何为QCon?

QCon全名为QCon全球软件开发大会是由极客邦科技旗下 InfoQ 中国主办的综合性技术盛会,每年在伦敦、北京、纽约、圣保罗、上海、旧金山召开。自2007年3月份开始举办以来,已经有超万名有多年从业经验的技术人员参加过QCon大会。QCon 内容源于实践并面向社区,演讲嘉宾依据热点话题,面向5年以上工作经验的技术团队负责人、架构师、工程总监、开发人员分享技术创新和实践。

今年QCon在国内举办了两场,一场是2021年5月29日-31日在北京举办,另外就是本场上海站了。

除了QCon,InfoQ主办的知名大会还有:

1、DIVE全球基础软件创新大会

主要关注操作系统、中间件、数据库、编程语言、编译器以及开源、云原生等多个基础软件相关领域

2、ArchSummit 全球架构师峰会

重点面向高端技术管理者、架构师的技术会议,54% 参会者拥有 8 年以上工作经验。

3、GMTC 全球大前端技术大会

关注前端、移动、AI应用等多个技术领域,促进全球技术交流,推动国内技术升级。

4、AICon 全球人工智能与机器学习技术大会

主要面向各行业对AI技术感兴趣的中高端技术人员。

QCon主题很广,比如本次上海站涉及到的领域包括但不限于研发效能、微服务、DevOps、大前端、AI、性能优化&服务治理、大数据、架构演进、物联网、技术创业、云原生、客户端技术、未来技术趋势、存储优化、成本优化、测试、互联网安全等。

主题很多,每个主题下有很多演讲题目,因为不同演讲是并行进行,所以一个人同一时刻只能选一个自己比较感兴趣的来听。我作为一个后端开发,主要选的议题是偏后端的。

这里先附上Qcon上海2021日程链接(会议上的一些PPT也能在此找到),看了本文有兴趣的就直接去网站找资料吧:

QCon 全球软件开发大会

第一天-上午

(2021/10/21 周四)

签到&前记

第一天需要签到,8点40多到了酒店一楼签到处。

签完到会每人发一个袋子和一个参会牌。袋子装的是会议日程表、一个笔记本、QCon介绍以及部分赞助商小册子等。

这个笔记本挺好的,上次在深圳参加GIAC大会也有一个,似乎这种技术大会都不约而同地发一个笔记本,很为参会者着想,因为有些题目演讲是没有PPT和视频的,所以多多记录笔记一定没错。

签完到直接上二楼演讲会议区,在走廊里满满都是人,两旁则是一个挨着一个的不同公司展位,这些展位有很多活动可参加并送小礼品。因为这时离第一个题目演讲开始还有半个小时,所以我也加入了活动参与的人潮里面,走完一圈下来,收货小两袋礼品。

鼠标、手机支架、手提袋……

到了9:15,上午的会议也正式拉开帷幕。第一天上午的日程安排只有3个主题:《主题演讲》、《大型团队研发提效的探索与实践 解决方案专场》、《实时通信技术》。最后一个不是我的技术栈范畴,我不选择;第二个是关于研发效能,我想着下午还有专场,也就没去,所以第一天上午我一上午都呆在《主题演讲》里面。

主题演讲

  • 一、《把内容交付这件事做好》

上午第一场主题演讲的是极客邦科技的郭蕾,他带来的是《把内容交付这件事做好》,主要讲以解决问题为目的找最优解决方案的一些大方向大措施,因为这个题目只有15分钟,没有太多细节信息。

比较有意思的是,郭蕾有一个视频号:极客时间小盖,视频号首页鲜明地标注着连线访谈100位牛人直播,挺不错的,我还听过霍泰稳连线高少星的直播。

  • 二、《Toward Software Performance Evaluation at Scale: A Journey》

第二场主题演讲是阿里的首席工程师Kingsum Chow奉献。在越来越大规模的数据中心上不熟应用挑战也越来越大,其中包括:

(1)如何在数据中心中衡量软件性能

(2)优化软件资源管理

本场演讲分享了一些为了解决这些挑战而使用的技术,详细描述如何组合常用工具来解决在数据中心中遇到的问题。

让我印象最深刻的一点是利用向量解释局部性能和总体性能之间的不一致问题。就比如说公司由A、B、C三大业务构成,在一次调优、系统升级后,公司所有业务作为一个整体性能是有所提升的,但是A、B、C各自性能却不约而同地下降。

蓝线代表优化后,绿线代表优化前。中间最长的两根线表明优化后是提升了,但是A、B、C各自对比却没有提升。

这也是自从大学学完向量后第一次看到向量被应用于实际场景,尽管这个场景不是我自己遇到的。以前一直觉得向量这玩意有点玄乎,很难理解。

  • 三、《开源开放,人人贡献:极狐(GitLab)的开源之道》

第三场主题演讲极狐(GitLab)的云原生架构师-郭旭东,主题主要讲开源以及开源精神。本场演讲介绍了极狐(GitLab)如何践行“开源”与“开放”,靠什么吸引无数开发者加入到“人人贡献”的行列中来,是怎样完成开源与商业的有机结合。

  • 四、《从云原生到原生云:企业规模化智能增长的最佳实践》

第四场是由字节跳动的火山引擎副总经理-张鑫带来的《从云原生到原生云:企业规模化智能增长的最佳实践》。主要回顾了云原生技术体系的前生、今世与展望,并阐述新一代面向增长的“原生云”(Native Cloud for Growth)理念 —— 在字节内部的最佳实践应用。

这几年字节真是处于飞速发展阶段,聚集了社会上大量优质资源,包括人力和非人力资源。字节内部原生云应用体量已经非常庞大,下面是他们给的一组数据。

很多公司终其一生都只能望其项背而不能及呀。

  • 五、《企业级云原生应用管理》

由腾讯云 /CODING 高级技术专家-潘俊明主讲,主要阐述腾讯基于自身特点,打造标准可靠的云原生应用管理体系的一些实践。

现在公司都在讲云原生,但是如何转型云原生已经如何搭建云原生也是最大的问题。腾讯的一站式云原生应用管理平台 Orbit ,基于腾讯内部多年应用云原生化转型经验,提供云原生应用构建、交付、运维、销毁全生命周期管理的能力。

这里插个题外话,我用过腾讯的coding,当初《短视频去水印》小程序代码就是托管在coding上,coding平台功能很完善,包含项目管理、代码托管、数据报表等一系列功能。

第一天-下午

(2021/10/21 周四)

下午开始全面进入演讲主题,因为我是做后端Java的,第一天一整下午我都只在《打造高效研发团队》和《微服务大道至简》这两个大主题下来回参会。

打造高效研发团队&微服务大道至简

  • 一、《研发效能提升“双流模型”探索与实践》

1. 研发效能的本质

2. 研发效能双流模型的宏观解读

3. 需求阶段研发效能提升实践详解

4. 本地开发与测试阶段效能提升实践详解(流程+工具)

5. 研发效能的技术展望与趋势

这个课题听完提升我一定的认知,大家作为技术开发,很少关注技术效能的量化问题,但是就算我们知道了要提升研发效能要量化研发效能,如何量化也是一个大问题是不是?茹炳晟老师还分享了他们团队的一些经验,很多值得借鉴的地方。

在本场课题结束后,我从茹炳晟老师那购买了一本他的书《软件研发效能提升之美》,还是他亲笔签名,有点小确幸哈哈。

  • 二、《ToB 高效能研发体系构建实践》

结合网易云商的ToB 业务,讲述如何打造一支高效迭代、持续成长、持续进化的研发团队。在实践中,网易云商针对流程和工具链建设、组织结构优化、组织文化和目标牵引体系等方面,系统性地思考如何打造研发效能。本场演讲也包含了一些他们取得的成果。

  • 三、《基于Prometheus的微服务监控探索与实践》

在新型容器化部署架构下,我们面临着部署、监控、配置和治理等方面更大的挑战。此场演讲分享了阿里云 Prometheus 在实践过程中时碰到的挑战,以及如何通过重构 Prometheus 的采集、数据链路、存储等设计,实现微服务精细化治理以及未来的微服务、云原生可观测性的发展趋势。

  • 四、《研发效能的度量体系建设实践》

很细地讲述如何大奖研发效能的度量体系,从指标选择、分层、量化执行、系统化、日常运营、执行案例等多个方面全面讲述了研发效能的度量体系建设,和上面茹炳晟老师的课题遥相呼应,非常值得研读。

第一天-晚上

(2021/10/21 周四)

浦东&外滩

Qcon本来安排了技术夜场《QCon上海技术晚场·店匠 SHOPLAZZA | 开发者之夜·技术之力》,但我和同行伙伴商量了下决定不参加,因为是第一次到上海,我们选择去外滩打卡。

作为我们国家GDP排名第一的城市,上海有着非常多让人着迷的地方。这么大的经济体量它是如何办到的?又是如何维持的?

我个人比较喜欢看一些历史纪录片,最近又是迷恋一部《激荡四十年》的视频,里面有讲到一些关于上海的东西。比如上海浦东新区经济发展速度:

又比如“调侃”浦东的一些老话:

现在可不敢这么说了,一间房得多贵了呀。

看几组我们当天拍的照片

《东方明珠》

《和平饭店》

《南京路步行街一角》

《外滩历史建筑》

《Nanjing Road》

第二天-上午

(2021/10/22 周五)

第二天不用签到,早上9:30开始正题演讲。我主要是在《架构演进》、《API 网关》、《解析性能优化》这几个主题下来回穿梭听课。

《架构演进》主题

  • 《从零打造一个没有数据库的金融级账务系统——eBay 支付账务系统架构演进之路》

传统金融账务系统一般采用计算存储分离的架构的方案,逻辑层为一组轻量级的无状态服务,存储层为数据库。系统的正确性、可靠性和高吞吐等特性都是通过数据库来保证。

eBay别出心裁,以 Append-Only Log 作为底层存储介质,采用 Raft 共识算法将 Log 实时复制到异地数据中心,上层采用领域驱动的设计思想(Domain Driven Design)对业务进行建模,用事件溯源(Event Sourcing)的方式处理消息并将结果写入到 Log 中。通过这种非主流计算存储结合的方式,做出了一个在核心链路上没有数据库的完整账务系统。

很不一般的实践应用,从中我们能联想到现在市面上一些分布式存储,比如阿里的OceanBase。当然OceanBase复杂很多,且也业务代码耦合度也低。

eBay这套系统性能怎么样呢?这是他们给出的一组数据:

算是很成功的案例了。

《API 网关》主题

  • 《喜马拉雅百亿级 API 网关南天门架构演进》

网关我们都不陌生,我们后端很多网关底层都基于Netty框架,喜马拉雅网关也不例外,但是他们做了很多诸如链接管理、快速失败、自动降级、缓存等优化,实现网关日处理 300 亿+的流量,单机 QPS 高峰 4w+。 

《解析性能优化》主题

  • 《G1 GC 性能优化实战》

我们的生产环境已经非常多应用都使用了G1,但是要很好地用它并不容易,特别是在一些复杂的环境中。本场演讲分享了 G1 GC 调优的一般经验,以及通过一些复杂场景案例介绍隐藏的 GC 调优技巧,都是很细很接地气又很实用的技巧分析。

第二天-下午

(2021/10/22 周五)

  • 一、《面向云原生的应用算力架构》

主要谈阿里大规模应用下,对于异地多活、全球化的业务设计,业务架构要去思考如何跨 IDC 规划自己的算力,保证可扩展性。同时,还介绍阿里的一些大工程,比如东数西算。

在杭州工作有几个大学同学,毕业后多年不见,之前一直说要去杭州玩都没去成,这次刚好是在上海,从上海到杭州高铁一小时路程,临时决定就这一天下午至傍晚时分出发去杭州。

这一趟去杭州的路途,有一点比较不一样的直观感受,就是我坐地铁时进出闸门刷卡后好长时间不知所措。

上海地铁的进出闸门是桥式弧形三锟闸设计,体验不是很好,刷完卡需要人力去推轮动棒进出

不像深圳或者杭州的翼闸,刷完卡自动开关门。

《大晚上的杭州西湖》

第三天-上午

(2021/10/23 周六)

前一天晚上在杭州住了一晚,第二天早上从杭州赶回上海,差不多10点赶到了技术会场现场。这一天上午主要听了两个主题。

《高并发与高可用》主题

  • 《与流量赛跑——机票盲盒活动背后的故事》

今年 4 月,同程艺龙上线了机票目的地盲盒活动,活动倍受用户青睐,所以系统就受到了流量的考验。次场演讲讲了盲盒活动突增大流量情况下如何制定有效方案进行应对,方式不限于AIOps 流量预警、业务网关限流、分布式缓存、前端排队和秒杀交互、活动平台和无服务器架构、容器平台弹性扩缩容等。 

《海量存储优化》主题

  • 《百万亿级云存储系统挑战与实践》

字节业务的不断扩张,随之而来的也是数据量的爆发式增长

面对如此大的数据量,字节总结了一套他们的最佳实践方案。

第三天-下午

(2021/10/23 周六)

《高并发于高可用》主题

最后一天的下午在《高并发于高可用》主题下听到了两个非常硬核的干货,码代码的真实干家。

  • 一、《RocketMQ5.0,生于云、长于云的新一代“消息、事件、流”融合处理平台》

我们公司重度使用RocketMQ,本场会议从云上大规模生产场景出发,介绍新一代 RocketMQ5.0 在基础架构云原生化演进设计,同时分享 RocketMQ5.0 对于 Streaming 处理和事件驱动不一样的设计和思考。

  • 二、《异地多活——携程 MySQL 实时双向(多向)复制》

一开始听这场演讲,我觉得不会有什么新的东西,毕竟我们公司也做多机房,MySQL多机房间的同步我们也做。但听完才觉得,人家做的深度和方案的全面性很多值得学习借鉴。

针对很多场景做了特殊的优化,比如基于位运算的orderId改造、复制延迟下位binlog点定位优化、通过引入RingBuffer优化大事务复制延迟等,够深度、够全面,非常值得下载观看。

后记

三天下来,体会到了Qcon大会浓厚的技术氛围,总体而言Qcon干货很多,能学到不少东西。我们普通的一线开发者平常很少走出去看看别人家已经走到哪里、以及我们自己处于什么位置,这是我们需要改善的地方,多学习、多听取别人的方案,对我们今后的技术生涯大有裨益。

结语

我是tin,一个在努力让自己变得更优秀的普通攻城狮。自己阅历有限、学识浅薄,如有发现文章不妥之处,非常欢迎加我提出,我一定细心推敲加以修改。

看到这里请安排个“三连”(分享、点赞、在看)再走吧,坚持原创不容易,不要白嫖,你的正反馈是我坚持输出的最强大动力,谢谢!

20190911181805AMQR5B8FDFDAXGLA.gif

最后别忘了关注我哦!⏬⏬⏬

qrcode_for_gh_e635d95b89a2_258-2.jpg

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/658685
推荐阅读
相关标签
  

闽ICP备14008679号