阿里中间件技术专家魏鹏:基于Java容器的多应用部署技术实践

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 首届阿里巴巴在线技术峰会(Alibaba Online Technology Summit),将于7月19日-21日 20:00-21:30 在线举办。本次峰会邀请到阿里集团9位技术大V,分享电商架构、安全、数据处理、数据库、多应用部署、互动技术、Docker持续交付与微服务等一线实战经验。

首届阿里巴巴在线技术峰会(Alibaba Online Technology Summit),将于7月19日-21日 20:00-21:30 在线举办。本次峰会邀请到阿里集团9位技术大V,分享电商架构、安全、数据处理、数据库、多应用部署、互动技术、Docker持续交付与微服务等一线实战经验,解读最新技术在阿里集团的应用实践。

7月20日晚8点,阿里巴巴集团技术专家魏鹏将在线分享《基于Java容器的多应用部署技术实践》。为了帮助更多技术伙伴了解他,也更加深入了解技术分享的背景,云栖社区对他进行了采访并整理了这篇文章。

阿里巴巴在线技术峰会专题:https://yq.aliyun.com/activity/97
峰会统一报名链接:https://yq.aliyun.com/webinar/join/23


魏鹏,阿里巴巴集团技术专家。2009 年硕士研究生毕业加入阿里巴巴中国网站技术部,曾担任中国网站交易平台架构师,主导了交易系统服务化工作,设计实现的数据迁移系统高效的完成了阿里巴巴中国网站交易数据到阿里巴巴集团的迁移工作。目前在阿里巴巴中间件技术部的应用容器与服务框架组从事 Java 应用容器 Pandora 和服务框架 HSF 的相关工作,其中 Java 应用容器 Pandora 是阿里巴巴中间件运行的基础,而服务框架 HSF 则是阿里巴巴集团实现服务化的主要解决方案,二者在阿里巴巴拥有最为广泛的使用量。

技术提升“三件事”:从普通到创新,从被动到主动,从现在到未来

云栖社区:您自2009年硕士毕业就加入阿里,能和我们分享下您一路走来的技术之路吗?有哪些值得纪念的里程碑?

魏鹏:分享技术之路不敢这么说,我就是感觉公司和团队能够给予你很多机会去做自己喜欢的事,能做自己喜欢和认可的事情是非常幸福的。

我这里不去详细讲述这些年的工作,只说三件事吧:

第一个,从普通到创新;记得当时刚加入阿里在1688交易团队工作,主管交给我一个改造任务:将现有的消息组件迁移到公司新开发的分布式消息组件上。一个普通的迁移工作只是改动一下既有的代码看起来非常简单,但是经过分析,发现现有的交易消息系统设计的不利于未来业务的扩展,便有了改造已有消息系统的想法,经过和团队同学们的沟通,新设计的消息系统除了能够支持已有的业务以外,还简化了新业务的接入过程。其实如果带着审视的眼光去看简单而又普通的工作,兴许就会发现许多可以改善和创新的地方。

第二个,从被动到主动;在2012年做1688交易服务化工作的开始阶段,总会想所做的工作能够有多大的价值,后来发现所做工作最大的价值在于用户对你的肯定。因此我们从开始被动的接受需求完成开发,到主动的找寻系统数据上有价值的点进行服务提供,服务化工作在顺利的推进过程中,和其他业务方的配合也变得越发的顺畅。

第三个,从现在到未来。2013年底来到中间件技术部之后,开始接触中间件产品,和一群技术非常牛X的小伙伴们一起工作,这个过程充满了乐趣。由于负责的产品大都是技术产品,使用的对象都是公司内部的工程师,所以很多技术细节的取舍、产品的设计都必须非常仔细,因为我们的角色不仅仅是开发也是产品经理,对自己的要求变得更高。在中间件工作,你的一个想法可能会改变非常多工程师的开发方式和使用习惯,因此在中间件工作感觉就像面向未来工作。

中间件技术就像“一座桥”:要稳、要宽、跨度大

云栖社区:您目前在阿里中间件技术部,可以简要介绍下阿里中间件的研发初衷和历程吗?现阶段发展如何?

魏鹏:按照我的理解,当阿里开始尝试使用自己的分布式技术时,阿里中间件的雏形就开始出现了,它研发的初衷就是从用户角度出发,将分布式技术带给我们的开发同学,让他们能简单、安全并可靠的使用分布式技术(比如:RPC框架HSF、分布式数据访问层TDDL和分布式消息系统Notify等)。

现阶段阿里中间件是阿里巴巴集团生态系统的技术基石,为集团各大业务群提供可靠、高效、易扩展的技术基础服务。这里有世界一流的中间件产品和场景,这里有世界最大的电商交易业务场景,这里有世界领先的企业互联网架构平台。阿里中间件的愿景是打造世界一流的中间件产品,打造世界一流的高可用架构基础设施,打造世界一流的企业级互联网架构平台。

云栖社区:中间件从起源之时到伴随着互联网发展和分布式系统的兴起,中间件的概念也在发生演变,那么您是如何理解中间件技术的?

魏鹏:在我的理解里,中间件技术像一座桥,它联通着业务的现在和未来,能够为业务提供更加方便、安全、可靠和高效的解决方案,使业务能够不在受限于技术和规模的限制,提供给业务更加稳定的支撑。衡量一座桥,首先看它稳不稳,然后再看宽不宽,最后看跨度够不够大。中间件这座桥一定需要稳,因为它是技术基石;同时它也需要很宽,因为它需要高效的解决一些通用问题;最后它的跨度要大,因为它需要面向未来支撑更大的量级。

云栖社区:在中间件大团队中,您主要是做哪些方面的工作?主要成就有哪些?

魏鹏:我目前在中间件技术部-基础中间件-应用容器与服务框架小组,主要负责隔离容器Pandora和服务框架HSF的开发工作。所负责的Pandora与HSF的架构演进,立足现有的产品,面对未来的挑战,通过架构演进来应对挑战。

业务发展带来“四大”系统问题:性能、成本、效率、扩展

云栖社区:首届阿里巴巴在线峰会上,您分享的主题是《基于Java容器的多应用部署技术实践》。核心技术内容有哪些?什么样的用户适合来倾听本场分享?

魏鹏:随着业务的发展,机器的数量和系统复杂性不断提升,较之简单系统的开发部署,大规模分布式系统将会面对以下新问题:

  • 性能问题,系统之间通过远程调用来进行数据交换,一个用户请求所涉及的系统越来越多,远程调用的开销随之变大,如何降低远程调用开销,提升调用链路稳定性;
  • 成本问题,系统服务器数量不断增加,单个集群规模变大的同时带来了资源的浪费,如何提升资源利用率,优化成本;
  • 效率问题,拥有上千台服务器的系统,在每次发布过程中容易造成客户端的抖动,常规做法是多批少量发布,但这种发布方式延长了发布时间,如何能做到大集群快速全量发布;
  • 扩展问题,平台化系统对模块化有很强的需求,现行的Java模块化技术对于开发者而言显得过于复杂,如何降低模块化技术门槛,适合已有的运维部署体系。

阿里Java容器,能够支持多应用部署并将阿里中间件以服务的形式提供给托管的应用,应用之间的调用从远程自动转换为本地调用,以淘宝商品详情为例,综合对比性能提升40%以上,对外服务能力不变的情况下,节约近千台服务器。在提升性能、降低成本的同时,容器支持主子应用部署的形式使得平台化系统的搭建变得简单许多,平台方和下游业务方的部署变得更加灵活自由。容器还支持单应用多版本部署,使得应用发布时不再重启进程,而是做应用版本的上下线以及流量的切换,发布和系统规模束缚被打破,整个发布过程进入分钟级。

对Java中间件、应用容器、服务框架以及运维感兴趣同学都适合听。

技术成长之道:重在积累

云栖社区:我们了解到,您本人平时喜欢阅读技术书籍,与同事合著了《Java 并发编程的艺术》一书,并翻译一些国外优秀文档,对 Java 应用容器、多线程编程以及分布式系统感兴趣,对于广大开发者们的成长,您有哪些建议?或者请您推荐一本最喜欢的技术书籍(或书单)?

魏鹏:技术在平时工作中的运用来自于平时自己的积累,就像我在做1688交易数据迁移工作时一样,由于自己平时对于多线程编程非常感兴趣,做了一些积累,当问题真正来临之时,平日的积累就给了自己非常多的帮助,能够更好的完成系统的设计和开发,让自己体会到学有所用的乐趣。

我最喜欢的技术书籍是读书时候看的《Beginning Java Objects》,很喜欢那时看完每章都觉得收获颇丰的感觉。


7月20日晚8点,欢迎分享到朋友圈,不见不散!

1573fa3f3ab373a493f2be1cff18c3247ea6e813"

议题:《基于Java容器的多应用部署技术实践》

议题简介:随着业务的发展,机器的数量和系统复杂性不断提升,较之简单系统的开发部署,大规模分布式系统将会面对以下新问题:

  1. 性能问题,系统之间通过远程调用来进行数据交换,一个用户请求所涉及的系统越来越多,远程调用的开销随之变大,如何降低远程调用开销,提升调用链路稳定性;
  2. 成本问题,系统服务器数量不断增加,单个集群规模变大的同时带来了资源的浪费,如何提升资源利用率,优化成本;
  3. 效率问题,拥有上千台服务器的系统,在每次发布过程中容易造成客户端的抖动,常规做法是多批少量发布,但这种发布方式延长了发布时间,如何能做到大集群快速全量发布;
  4. 扩展问题,平台化系统对模块化有很强的需求,现行的Java模块化技术对于开发者而言显得过于复杂,如何降低模块化技术门槛,适合已有的运维部署体系。

阿里Java容器,能够支持多应用部署并将阿里中间件以服务的形式提供给托管的应用,应用之间的调用从远程自动转换为本地调用,以淘宝商品详情为例,综合对比性能提升40%以上,对外服务能力不变的情况下,节约近千台服务器。

在提升性能、降低成本的同时,容器支持主子应用部署的形式使得平台化系统的搭建变得简单许多,平台方和下游业务方的部署变得更加灵活自由。容器还支持单应用多版本部署,使得应用发布时不再重启进程,而是做应用版本的上下线以及流量的切换,发布和系统规模束缚被打破,整个发布过程进入分钟级。

听众受益:

  1. 阿里Java容器的整体架构与部署形式;
  2. 如何转换远程调用到本地调用,提升性能,优化成本;
  3. 如何通过多版本部署来提升发布效率;
  4. 如何支撑应用平台化。

附图:阿里巴巴在线技术峰会整体议程

8ca125440fcce3b5bdad1d15f41b2263565b3f89

峰会统一报名链接:https://yq.aliyun.com/webinar/join/23

目录
打赏
0
64
69
71
80638
分享
相关文章
Java 大数据在智能教育在线实验室设备管理与实验资源优化配置中的应用实践
本文探讨Java大数据技术在智能教育在线实验室设备管理与资源优化中的应用。通过统一接入异构设备、构建四层实时处理管道及安全防护双体系,显著提升设备利用率与实验效率。某“双一流”高校实践显示,设备利用率从41%升至89%,等待时间缩短78%。该方案降低管理成本,为教育数字化转型提供技术支持。
65 0
|
4天前
|
Java 17 及以上版本核心特性在现代开发实践中的深度应用与高效实践方法 Java 开发实践
本项目以“学生成绩管理系统”为例,深入实践Java 17+核心特性与现代开发技术。采用Spring Boot 3.1、WebFlux、R2DBC等构建响应式应用,结合Record类、模式匹配、Stream优化等新特性提升代码质量。涵盖容器化部署(Docker)、自动化测试、性能优化及安全加固,全面展示Java最新技术在实际项目中的应用,助力开发者掌握现代化Java开发方法。
21 1
Java 大视界 —— Java 大数据在智慧交通停车场智能管理与车位预测中的应用实践(174)
本文围绕 Java 大数据在智慧交通停车场智能管理与车位预测中的应用展开,深入剖析行业痛点,系统阐述大数据技术的应用架构,结合大型体育中心停车场案例,展示系统实施过程与显著成效,提供极具实操价值的技术方案。
Java 对象模型现代化实践 基于 Spring Boot 与 MyBatis Plus 的实现方案深度解析
本文介绍了基于Spring Boot与MyBatis-Plus的Java对象模型现代化实践方案。采用Spring Boot 3.1.2作为基础框架,结合MyBatis-Plus 3.5.3.1进行数据访问层实现,使用Lombok简化PO对象,MapStruct处理对象转换。文章详细讲解了数据库设计、PO对象实现、DAO层构建、业务逻辑封装以及DTO/VO转换等核心环节,提供了一个完整的现代化Java对象模型实现案例。通过分层设计和对象转换,实现了业务逻辑与数据访问的解耦,提高了代码的可维护性和扩展性。
61 1
|
29天前
|
Java 抽象类与接口在 Java17 + 开发中的现代应用实践解析
《Java抽象类与接口核心技术解析》 摘要:本文全面剖析Java抽象类与接口的核心概念与技术差异。抽象类通过模板设计实现代码复用,支持具体方法与状态管理;接口则定义行为规范,实现多态支持。文章详细对比了两者在实例化、方法实现、继承机制等方面的区别,并提供了模板方法模式(抽象类)和策略模式(接口)的典型应用示例。特别指出Java8+新特性为接口带来的灵活性提升,包括默认方法和静态方法。最后给出最佳实践建议:优先使用接口定义行为规范,通过抽象类实现代码复用,合理组合两者构建灵活架构。
42 2
现代应用场景中 Java 集合框架的核心技术与实践要点
本内容聚焦Java 17及最新技术趋势,通过实例解析Java集合框架的高级用法与性能优化。涵盖Record类简化数据模型、集合工厂方法创建不可变集合、HashMap初始容量调优、ConcurrentHashMap高效并发处理、Stream API复杂数据操作与并行流、TreeMap自定义排序等核心知识点。同时引入JMH微基准测试与VisualVM工具分析性能,总结现代集合框架最佳实践,如泛型使用、合适集合类型选择及线程安全策略。结合实际案例,助你深入掌握Java集合框架的高效应用与优化技巧。
76 4
开发 JavaFX 与 Java Swing 桌面应用的实用技巧与实践方案
本文介绍了Java桌面应用开发的技术选型与JavaFX实战方案。首先对比了JavaFX和Swing的特点,推荐JavaFX更适合现代UI需求。重点讲解了JavaFX 19+的技术升级,包括模块化开发(module-info.java配置)和响应式UI设计(CSS样式管理)。在数据访问层展示了JDBC 4.3的集成和异步加载实现。高级UI组件部分演示了自定义表格和图表可视化的开发方法。最后介绍了MVVM架构的实现,包括视图模型的数据绑定和FXML控制器的集成,为开发者提供了完整的JavaFX桌面应用开发解决方案。
88 0
Java 大视界 -- Java 大数据机器学习模型在金融衍生品定价中的创新方法与实践(166)
本文围绕 Java 大数据机器学习模型在金融衍生品定价中的应用展开,分析定价现状与挑战,阐述技术原理与应用,结合真实案例与代码给出实操方案,助力提升金融衍生品定价的准确性与效率。
Java 大视界 -- Java 大数据机器学习模型在金融衍生品定价中的创新方法与实践(166)
从理论到实践:使用JAVA实现RAG、Agent、微调等六种常见大模型定制策略
大语言模型(LLM)在过去几年中彻底改变了自然语言处理领域,展现了在理解和生成类人文本方面的卓越能力。然而,通用LLM的开箱即用性能并不总能满足特定的业务需求或领域要求。为了将LLM更好地应用于实际场景,开发出了多种LLM定制策略。本文将深入探讨RAG(Retrieval Augmented Generation)、Agent、微调(Fine-Tuning)等六种常见的大模型定制策略,并使用JAVA进行demo处理,以期为AI资深架构师提供实践指导。
476 73
【Java进阶】JavaScript电灯开关实例:从理论到实践
这个例子展示了JavaScript的基本功能,包括操作HTML元素,监听事件,以及改变元素的样式。通过学习和理解这个例子,你可以了解到JavaScript在网页中的应用,以及如何使用JavaScript来创建交互式的网页。
71 13
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等