オープンソースの「充電の旅」のご紹介 – 2 人の新しい Apache Flink コミッターへの独占インタビュー

この記事は、ByteDance ストリーミング コンピューティング チームの Fang Yong 氏と Hu Weihua 氏への独占インタビューから生まれたものです。2 人の学生は主に、Runtime Coordinator、Streaming Warehouse、その他の関連機能を含む Apache Flink コミュニティに貢献しました。彼は、2023 年 7 月に Apache Flink コミッターになるよう正式に招待されました。

ソフトウェア開発の世界では、オープンソースが広く普及しています。ますます多くの企業や開発者がオープンソースの重要性を認識し、オープンソースを積極的に受け入れ、貢献し始めています。2017 年以来、ByteDance ストリーミング コンピューティング チームは Apache Flink をストリーミング コンピューティング エンジンとして使用する試みを開始し、オープンソース コミュニティへの注目と投資を徐々に増やしています。

過去 2 か月間で、チームの 2 人の学生、Fang Yong と Hu Weihua が Apache Flink コミッターになるよう招待されました。この記事では、オープンソースに参加するまでの道のりについて、2 人の新しいコミッターに独占インタビューを行います。

オープンソース参加への私の道のり

Apache Flink は、ストリーミング コンピューティングの事実上の標準となっている高性能分散コンピューティング フレームワークであり、ストリーミング データ処理の開発を大きく推進してきました。2 人の新しいコミッターにとって、Flink は Apache において無視できないスター プロジェクトです。

非常に活発なコミュニティなので、ユーザーからの質問にはすぐに (基本的には 1 日以内に) 回答され、ユーザー エクスペリエンスは非常にフレンドリーです。同時に、コミュニティのメンバーも非常にプロフェッショナルであり、Flink の技術的進歩を保証します。さらに、Flink はストリーム コンピューティングに基づく幅広いアプリケーション シナリオも拡張しており、Flink ベースのストリームとバッチの統合、OLAP、ストリーミング ウェアハウスはすべて Byte に実装されています。


Flink は非常に強力で柔軟なコンピューティング エンジンであり、ByteDance は Flink を使用して多くのビジネス シナリオをサポートしています。Flink Runtime R&D エンジニアとして、このプロジェクトについて詳しく知るにつれて、その設計コンセプトの先進性をますます認識するようになり、コミュニティにも積極的に還元していきたいと考えるようになりました。したがって、私はコミュニティ関連の電子メールを購読し、コミュニティ内の他の開発者からの質問に積極的に回答する一方で、Flink のスケジューリングとリソース管理の分野に取り組み、内部最適化の経験の一部を徐々に共有しています。コミュニティへ。

コミュニティに参加する過程で、私は主に次のような貢献をコミュニティに行いました。

  1. ユーザーが Flink をよりよく理解して使用できるように、ユーザーの質問や疑問に積極的に答えます。

  2. Flink のスケジューリングとリソース管理に関しては、コードを積極的に提供して、スケジューリングのパフォーマンスを向上させ、メンテナンス コストを削減します。

コミュニティへの参加を続けていると、今年 8 月に Apache Flink コミッターになるよう招待されて光栄でした。

Apache Flink プロジェクトにおける私の現在のエネルギーは、主にランタイム コーディネーター関連の作業に集中しています。この点に関して、ByteDance はまだ内部でカスタマイズされた開発を行っており、コミュニティにも積極的に還元していきます。その後の機能開発においても、コミュニティへの溶け込みを最優先に考え、積極的にコミュニティに貢献してまいります。


Flink コミュニティに貢献し始めるときの最大の課題は、自分に合った問題を見つけることです。当初、私は開発メール グループをよくフォローしていましたが、新しい問題のメールを受信すると、すぐに自分が慣れているか、より簡単な問題を解決できるかどうかを確認していました。その後すぐに @ コミュニティ PMC またはコミッターが配布を手伝ってくれます。時々、コミュニティの Jira リストを参照して、解決できそうな問題を確認し、問題リストに追加することもあります。PR を送信した後、レビューに協力してくれる人に @ を続けます。CI の結果を待っているときに、翌日、PMC がすでにレビューに協力しており、それが Till のようなコミュニティでは依然として大手であることが判明することが時々あります。当時のコミュニティのリーダーとは面識がありませんでしたが、彼らは皆とてもフレンドリーで、新しい人を積極的に受け入れてくれました。コミュニティに参加し続け、Flink システムを深く理解するにつれて、最適化できる問題がさらに見つかります。また、問題や FLIP を送信して、より多くの同じ志を持ったパートナーとコミュニケーションを図るつもりです。

Flink コミュニティ プロジェクトにおける私の主な投資は、JDBC やゲートウェイ アクセスなどのストリーミング ウェアハウス関連機能のサポートと、Flink OLAP 関連機能の実装を促進することです。研究開発に加えて、コミュニティ内のさまざまなメールグループでのディスカッションやQ&Aにも多くのエネルギーを注いでおり、その過程で国籍、企業、バックグラウンドが異なるクラスメートとのより良いコミュニケーションと交流が図れます。同時に、他社のユーザーが Flink をどのように使用しているかを理解することは、その後の作業にインスピレーションを与えるでしょう。

現在、Apache Flink コミュニティに加えて、Apache Paimon コミュニティにも参加しています。現在、Apache オープンソース コミュニティに参加し、内部で解決された関連問題をコミュニティに貢献するよう全員に奨励することに加えて、私たちのチームは、Paimon コミュニティとも協力して、Streaming Warehouse のデータ リネージ管理、ストリーミング コンピューティングのバックトラッキングと改訂、およびストリーミング バッチ統合 ETL 一貫性およびその他の側面に関する主要な機能の開発。

オープンソースへの参加は「充電の旅」でもあります

胡偉華:

私は、オープンソース コミュニティへの参加は、個人、チーム、企業、コミュニティにプラスの影響を与えると常に信じてきました。個人の場合、他の優れたメンバーとのディスカッションを通じて、技術レベルを向上させ、ソリューションのアイデアを広げることができます。チームにとっては、イノベーションと開発を促進し、密室での作業を避けることができます。特に Flink エンジンを使用する ByteDance のようなチームの場合、コミュニティに深く関与する必要があります。企業にとって、オープンソース コミュニティに参加することで、ブランド イメージと技術力を高めることができます。コミュニティに参加する人が増えるほど、コミュニティの発展とユーザーの問題の解決に役立ちます。

私の個人的な経験を例に挙げると、大規模なジョブのパフォーマンスの最適化を推進する過程で、バッチ展開ソリューションを採用し、Flink タスクの展開プロセスに大きな変更を加えました。しかし、コミュニティの他のメンバーと何度も綿密な議論を行った結果、タスクマネージャー側で関連するキャッシュを増やすことに最適化の方向を変えることにしました。これにより、最適化の目的を達成できるだけでなく、元のプロセスへの変更も大幅に簡素化できます。これにより、コミュニティがどのように機能し、コミュニティがどれほど強力になり得るかについての洞察が得られました。

オープンソースに参加することで、技術スキルや思考の幅を広げるという点で多くのことを得ることができました。技術面ではプロのコミッターやPMCパートナーから多くを学ぶことができ、交流や厳しいコードレビューを繰り返すことで技術的な成長を遂げてきました。思考の広がりという点では、コミュニティユーザーからの質問に答える過程でビジネスでの活用シーンが増え、思考の幅が広がりました。

ファン・ヨン:

オープンソースに参加することは私にとって「充電」でもあります。要約すると、次のような主要な電源があります。

  1. この過程で、私はオープンソース コミュニティの運営メカニズムをより深く理解し、他のチーム メンバーにコミュニティへの参加を奨励し、コミュニティ プロセスへの内部機能を促進する方法についてさらに詳しくなりました。

  2. コミュニティ交流のプロセス中に、関連分野のより多くのパートナーと知り合いになり、業界の現在の進歩と技術的方向性についてのコミュニケーションと理解を促進しました。

  3. 現在コミュニティやオープンソースシステムで推進されている技術的な方向性やコア機能をよりタイムリーに入手でき、関連機能の背景やソリューション選定を理解することで、システムの技術計画や進化をより良く推進することができます。社内。

  4. 技術ソリューション、技術実装、および関連問題に関するコミュニティの考え方は、内部のものよりも合理性と拡張性を重視しており、これらはチーム内に蓄積され続け、チームの技術的成長を促進します。

「先駆者」からのヒント

胡偉華:

私が提案したいのは、大胆かつ思慮深く、積極的に参加することです。

「大胆」とは、コミュニティ内で個人的な意見を言う勇気を持つことであり、コミュニティ内の友人たちはあなたの意見を積極的に聞き、あなたの意見が採用され、議論されたときは、大きな達成感を感じることができます。注意点としては、コミュニティではほとんどの友人が空き時間に参加し、主に非同期コミュニケーション手段を使用するため、完全で明瞭なスピーチによりコミュニケーションコストを大幅に削減できます。

積極的な参加はコードの提出だけにとどまらず、コミュニティでのディスカッションやユーザーの Q&A も成長の良い機会となります。

ファン・ヨン:

主なアドバイスは 2 つあります。情熱を持ち続けることと、投資を続けることです。

オープンソース コミュニティは非常にオープンなので、興味がある問題や理解している問題に積極的に参加できます。関連する問題の解決や機能設計を促進するために、個人的な意見や実際の経験を提供してください。

同時に、コミュニティへの参加は非常に長期的なものであり、1 か月や 2 か月の参加ではあまり大きな利益を得ることはできず、メール グループのディスカッションへの参加や問題の開発など、継続的な投資が必要です。上記の2点を守っていただければ、コミュニティのより良いコミュニティ構築に貢献しながら、テクノロジーや影響力も大きく向上できると思います。


2023 年 8 月 18 日から 20 日まで、ApacheCon Asia が北京のパーク プラザ ホテルで開催されます。ByteDance ストリーミング コンピューティング チームと Apache Flink コミッターの Li Benchao 氏が基調講演「オープンソースへの貢献は難しいですか?」に参加します。》、オープンソースへの貢献に参加した経験と利益を共有します。皆さんもぜひ注目してください。

ByteDance のストリーミング コンピューティング チームは、ByteDance の社内ストリーミング コンピューティング アプリケーション シナリオを担当し、機械学習プラットフォーム/レコメンデーション/データ ウェアハウス/検索/広告/ストリーミング メディア/セキュリティとリスク管理を含む多くの中核ビジネスをサポートしています。これは主に、超大規模な単一ジョブ (数千万の QPS) および超大規模なクラスター規模 (数万のマシン) のアプリケーション シナリオが直面する問題を解決し、SQL、状態とチェックポイント、ランタイム、および SQL における Flink の徹底的な最適化を備えています。他の方向。

2022年には、チームがサポートするコンピューティングエンジンストリーミングコンピューティングFlinkバージョン」製品がVolcano Engine上で発売され、クラウドコンピューティング機能が正式に外部に提供される予定です。

おすすめ

転載: blog.csdn.net/weixin_46399686/article/details/132628386