全文共5013字,预计阅读时间15分钟。大家好,这里是锡,这是我的第9篇原创文章2021年10月21-23日,在上海宝华万豪酒店参加QCon全球软件开发大会2021上海站会议,感触颇多。第一天听了会,觉得很值得。特此记录。本文只是精简的记录三天的行程,并非技术分享。技术的分享后面会单独写。什么是QCon?QCon的全称是QCon全球软件开发大会。是由极客邦科技旗下InfoQ中国主办的综合性技术盛会。它每年在伦敦、北京、纽约、圣保罗、上海和旧金山举行。自2007年3月创办以来,已有超过10,000名具有多年经验的技术人员参加了QCon大会。QCon的内容来源于实践,面向社区。演讲嘉宾围绕热点话题,与5年以上工作经验的技术团队负责人、架构师、工程总监、开发人员分享技术创新与实践。今年在中国举办了两场QCon,一场于2021年5月29日至31日在北京举行,另一场在上海举行。除了QCon之外,InfoQ主办的知名会议还有:1.DIVE全球基础软件创新大会主要关注操作系统、中间件、数据库、编程语言、编译器、开源、云原生等基础软件相关领域2.ArchSummitGlobal架构师峰会专注于面向高端技术经理和架构师的技术会议。54%的参与者拥有超过8年的工作经验。3、GMTC全球大前端技术大会聚焦前端、移动、AI应用等技术领域,促进全球技术交流,推动国内技术升级。4、AICon全球人工智能与机器学习技术大会主要面向各行业对AI技术感兴趣的中高端技术人员。QCon的主题范围很广。例如,本次上海站涉及的领域包括但不限于研发效率、微服务、DevOps、大前端、AI、性能优化&服务治理、大数据、架构演进、物联网、科技创业、云原生、客户端技术、未来技术趋势、存储优化、成本优化、测试、互联网安全等。话题很多,每个话题下还有很多演讲题目。因为不同的演讲是并行进行的,所以一个人一次只能选择自己比较感兴趣的一个来听。作为后端开发人员,我主要选择后端主题。这里是QconShanghai2021日程安排的链接(一些会议上的PPT也可以在这里找到)。如果您对本文感兴趣,可直接上网站查找资料:QCon全球软件开发大会首日-上午(2021/10/21周四)当天,8点40分到达酒店一楼签到柜台。签到后发给每人一个包和一张参与卡。袋子里有会议日程、笔记本、QCon演示文稿和一些赞助商手册。这款笔记本非常好。我还有最后一次参加在深圳举行的GIAC会议。好像这种技术会议都凑巧发个notebook。为参会者考虑的很周到,因为有些主题演讲没有PPT和视频,所以多记录笔记一定没错。签字后直接前往二楼演讲会场。走廊里站满了人,两旁是不同公司的摊位。这些摊位有很多活动可以参与,赠送小礼物。因为距离第一次主题演讲开始还有半个小时,我也加入了参加活动的人群中。逛了一圈,收到了两小包礼物。鼠标、手机架、手提包……9点15分,早会正式拉开帷幕。第一天早上的行程只有3个主题:《主题演讲》、《大型团队研发提效的探索与实践 解决方案专场》、《实时通信技术》。最后一个不是我的技术栈类别,我不选;第二个是关于研发效率的,我以为下午会有专场,所以没去,第一天就在《主题演讲》呆了一上午。主题演讲1.《把内容交付这件事做好》上午的第一个主题演讲是极客邦科技的郭磊。他带来了《把内容交付这件事做好》,主要是讲了一些以解决问题为目的的寻找最优解的大方向和措施,因为这个话题只有15分钟,没有太多详细信息。更有意思的是,郭磊有一个视频号:极客时间小改,视频号的主页清楚地标明了线下采访的100位达人的直播,非常不错。还听说霍泰文连线高少星直播。2.《Toward Software Performance Evaluation at Scale: A Journey》第二场主旨演讲由阿里总工程师周金森倾情奉献。在越来越大的数据中心,不熟悉的应用挑战也越来越多,包括:(1)如何衡量数据中心的软件性能(2)优化软件资源管理挑战所使用的技术,详细说明如何结合常用工具来解决问题在数据中心遇到。对我来说突出的一点是使用向量来解释局部性能和整体性能之间的不一致。例如,公司由A、B、C三大业务组成,经过一次调优和系统升级后,公司所有业务的整体业绩都有所提升,但A、B、C的业绩却有所下降。巧合地拒绝了。蓝线代表优化后,绿线代表优化前。中间两条最长的线表示优化有所改进,但A、B、C相互比较时没有改进。这也是我大学学完向量后,第一次看到向量被应用到实际场景中,虽然这个场景不是我自己遇到的。以前总觉得vector这个东西有点神秘难懂。3.《开源开放,人人贡献:极狐(GitLab)的开源之道》第三场主题演讲是GitLab的云原生架构师-郭旭东。话题主要讲开源和开源精神。本次演讲介绍了GitLab如何践行“开源”和“开放”,是什么吸引了无数开发者加入“人人贡献”的行列,以及如何完成开源与商业的有机结合。4.《从云原生到原生云:企业规模化智能增长的最佳实践》第四场由字节跳动火山引擎副总经理张欣带来的《从云原生到原生云:企业规模化智能增长的最佳实践》。主要回顾了云原生技术体系的前世今生和前景,阐述了新一代面向增长的“原生云增长”(NativeCloudforGrowth)理念——字节内部的最佳实践应用。在过去的几年里,字节跳动确实处于高速发展阶段,聚集了大量社会优质资源,包括人力资源和非人力资源。字节的原生云应用体量已经非常庞大。以下是他们给出的一组数据。很多企业一辈子都只能寄希望于追赶。5.《企业级云原生应用管理》由腾讯云/CODING高级技术专家潘俊明发言,主要阐述了腾讯根据自身特点打造标准可靠的云原生应用管理系统的一些实践。现在企业都在谈云原生,但是如何转型云原生,如何打造云原生也是最大的问题。Orbit,腾讯一站式云原生应用管理平台,基于腾讯多年应用云原生改造经验,提供云原生应用构建、交付、运维、销毁全生命周期管理能力。在这里补充一句题外话。我用过腾讯的编码。一开始,《短视频去水印》的小程序代码托管在coding上。编码平台功能齐全,包括项目管理、代码托管、数据报表等一系列功能。Day1-Afternoon(2021/10/21Thursday)下午开始全面进入演讲主题,因为我是做后端Java的,第一天整个下午才参与会议在一个大主题下来回走动。打造高效的研发团队&微服务之路走向简单,《研发效能提升“双流模型”探索与实践》研发效率的本质研发效率双流模型宏观解读需求阶段研发效率提升实践详解听完题目对技术前景和效率趋势,我有一定的了解。作为技术开发人员,大家很少关注技术效率的量化,但即便知道要提高研发效率,还是需要对研发效率进行量化。是什么问题?茹炳生老师也分享了他们团队的一些经验,有很多值得借鉴的地方。这堂课结束后,我从茹炳生老师那里买了一本他的书《软件研发效能提升之美》,而且是他的签名,有点幸运哈哈。2.《ToB 高效能研发体系构建实践》结合网易云商ToB业务,如何打造高效迭代、持续成长、持续进化的研发团队。在实践中,网易云商从流程与工具链建设、组织架构优化、组织文化、目标牵引体系等方面系统思考如何打造研发效率。本演示文稿还包含他们的一些成就。3.《基于Prometheus的微服务监控探索与实践》在新的容器化部署架构下,我们在部署、监控、配置和治理方面面临着更大的挑战。本次演讲分享了阿里云Prometheus在实践过程中遇到的挑战,以及如何通过重构Prometheus集合、数据链接、存储Observable趋势的设计,实现微服务的细粒度治理以及未来微服务和云原生的可扩展性。4.《研发效能的度量体系建设实践》详细描述了研发效率衡量体系如何奖励,从指标选择、层次化、量化执行、系统化、日常运作、执行案例等方面全面描述了研发效率衡量体系的构建,和上面茹炳生老师的题目遥相呼应,非常值得研究。第一天-晚上(2021/10/21Thursday)Pudong&BundQcon本来安排了一场科技夜秀《QCon上海技术晚场·店匠 SHOPLAZZA | 开发者之夜·技术之力》,和同事商量后决定不参加,因为是第一次来上海,所以选择了去外滩打卡。作为我国GDP第一的城市,上海有很多迷人的地方。它如何管理如此庞大的经济体?它是如何维护的?我个人喜欢看一些历史纪录片,最近迷上了一个关于《激荡四十年》的视频,讲的是上海的一些事情。比如上海浦东新区的经济发展速度:再比如浦东的一些老话“可笑”:现在不敢说,一个房间有多贵。看看我们那天拍的几组照片《东方明珠》《南京路步行街一角》《Nanjing Road》第二天-早上(2021/10/22周五)不需要签到第二天,上午9点30分开始主题演讲。我主要穿梭于《架构演进》、《API 网关》、《解析性能优化》的主题下来回听课。《架构演进》主题《从零打造一个没有数据库的金融级账务系统——eBay 支付账务系统架构演进之路》传统的财务会计系统普遍采用计算和存储分离的架构。逻辑层是一组轻量级的无状态服务,存储层是数据库。系统的正确性、可靠性和高吞吐量由数据库保证。eBay别出心裁,采用Append-OnlyLog作为底层存储介质,利用Raft共识算法将Log实时复制到远程数据中心。上层采用DomainDrivenDesign对业务进行建模,使用EventSourcing)对消息进行处理,并将结果写入Log。通过这种非主流的计算和存储的结合,在核心环节上做了一个没有数据库的完整的记账系统。是一个非常不寻常的实际应用,从中我们可以想到市面上的一些分布式存储,比如阿里的OceanBase。当然OceanBase要复杂的多,业务代码的耦合度也低。eBay系统的性能如何?这是他们给出的一组数据:是一个非常成功的案例。《API 网关》主题《喜马拉雅百亿级 API 网关南天门架构演进》我们都熟悉网关。我们很多后端网关都是基于Netty框架的,喜马拉雅网关也不例外。但是,他们做了很多优化,比如链接管理、快速失败、自动降级和缓存。网关每天可处理300亿+流量,单机QPS峰值4w+。《解析性能优化》主题《G1 GC 性能优化实战》G1在我们的生产环境中已经有很多应用,但是要用好它并不容易,尤其是在一些复杂的环境中。本次演讲分享了G1GC调优的一般经验,并通过一些复杂的场景案例介绍了隐藏的GC调优技巧。非常详细、接地气、实用的技能解析。第二天-下午(2021/10/22周五)1.《面向云原生的应用算力架构》主要讲阿里的大规模应用。对于异地多活、全球化的业务设计,业务架构需要思考如何规划跨IDC的自有算力保证可扩展性。同时也介绍了阿里的一些大项目,比如从东向西数。有几个大学同学在杭州打工。毕业后他们已经多年未见。他们之前一直说要去杭州,但是没有成行。这次正好在上海。上海到杭州坐高铁一个小时。从今天下午到晚上临时决定。是时候启程去杭州了。这次杭州之行,我有一个不一样的直观体验,那就是坐地铁在闸机口刷卡后,久久不知所措。上海地铁出入口闸门为三道闸门的桥形弧形闸门。体验不是很好。刷卡后,需要人力推动轮子和移动杆进出。与深圳或杭州的翼闸不同,闸机刷卡后自动开闭。《大晚上的杭州西湖》Day3-早上(2021/10/23星期六)前一晚在杭州住了一晚,第二天一早从杭州赶回上海,10点左右到达技术大会现场'钟。今天早上主要听了两个主题。《高并发与高可用》主题《与流量赛跑——机票盲盒活动背后的故事》今年4月,同程艺龙推出机票目的地盲盒活动。活动受到用户的青睐,因此对系统进行了流量测试。第二个演讲谈到了如何制定有效的方案来应对盲盒活动流量的突然增加。方法不限于AIOps流量预警、业务网关限流、分布式缓存、前端排队与秒杀交互、事件平台与serverless架构、容器平台弹性伸缩等。《海量存储优化》主题《百万亿级云存储系统挑战与实践》字节的业务不断扩大,随之而来的是数据量的爆发式增长面对如此海量的数据,字节总结了一套自己的最佳实践。第三天-下午(周六,2021/10/23)《高并发于高可用》主题最后一天下午,在《高并发于高可用》主题下,听了两篇很硬核的干货,代码的真正创造者。1.《RocketMQ5.0,生于云、长于云的新一代“消息、事件、流”融合处理平台》我们公司大量使用RocketMQ。本次会议从云上大规模生产场景出发,介绍了新一代RocketMQ5.0在基础设施的云原生演进设计上,分享了RocketMQ5.0对于Streaming处理和事件驱动的不同设计和思考。2.《异地多活——携程 MySQL 实时双向(多向)复制》第一次听到这个演讲的时候,我觉得不会有什么新意。毕竟我们公司也是做多机房的,我们也是做MySQL多机房的同步的。但听了之后,觉得他们做事的深度和计划的全面性值得我们学习借鉴。针对很多场景做了专门的优化,比如基于位操作的orderId转换,针对复制延迟的下binlog点定位优化,引入RingBuffer优化大事务复制延迟等。够深入够全面,值得下载观看。三天后,我感受到了Qcon大会浓厚的技术氛围。总的来说,Qcon的干货比较多,可以学到很多东西。我们普通的一线开发人员平时很少出去看看别人去了哪里,我们在哪里。这是我们需要改进的地方。多学习,多听听别人的解决方案,对我们以后的技术生涯会有很大的影响。有用。结语我是锡,一只努力让自己变得更好的普通攻城狮。我经验有限,知识浅薄。如果您发现文章中有不妥之处,非常欢迎您加我提出建议。我会认真考虑修改的。坚持原创不易,您的好评是我坚持输出最强大的动力,谢谢!
