Ấn tượng đầu tiên về Redpanda

Mar 23 2022
Bởi Daniel Rossos, Thực tập sinh kỹ sư phần mềm, Mehryar Maalem, Kỹ sư phần mềm tại IBM, và Shahir A. Daya, Kỹ sư xuất sắc của IBM và Kiến trúc sư trưởng Daniel, Mehryar, và tôi làm việc trong lĩnh vực này với tư cách là một bộ phận của IBM Consulting.

Bởi Daniel Rossos , Thực tập sinh kỹ sư phần mềm, Mehryar Maalem , Kỹ sư phần mềm tại IBM, và Shahir A. Daya , Kỹ sư xuất sắc và Kiến trúc sư trưởng của IBM

Daniel, Mehryar và tôi làm việc trong lĩnh vực này với tư cách là một bộ phận của IBM Consulting. Chúng tôi đã làm việc với một số tổ chức lớn về các sáng kiến ​​bao gồm một yếu tố của Kiến trúc hướng sự kiện. Các API Apache Kafka đã trở thành tiêu chuẩn thực tế cho Kiến trúc theo hướng sự kiện và Xử lý luồng. Chúng tôi đã có cơ hội làm việc trên một số triển khai Kafka lớn và nhận thấy rằng Kafka rất phức tạp để triển khai và vận hành, đặc biệt khi bạn có một cụm lớn với nhiều dữ liệu và các ứng dụng phát trực tuyến trạng thái.

Trong khi chúng tôi đang cố gắng xem xét những gì chúng tôi cần đưa vào để có thể vận hành một cách đáng tin cậy một quá trình triển khai lớn, chúng tôi tình cờ thấy một đốm sáng trên ThoughtWorks Rađa công nghệ tháng 4 năm 2021 có tiêu đề “ API Kafka không có Kafka ”. Và đó là cách chúng tôi kết thúc tại Redpanda . Những gì chúng tôi muốn làm trong bài viết này là chia sẻ ấn tượng đầu tiên của chúng tôi về Redpanda và cũng chia sẻ mã chúng tôi đã phát triển để triển khai Redpanda cho IBM Cloud .

Redpanda là gì và tại sao công nghệ này lại thú vị

Redpanda là một nền tảng dữ liệu trực tuyến tương thích với các API Kafka. Nó được xây dựng bằng C ++ nên không có JVM và không có Bộ sưu tập rác. Không có Zookeeper. Nó dựa trên thuật toán đồng thuận RAFT. Nó sử dụng mô hình luồng trên mỗi lõi trong số một số kỹ thuật khác giúp nó hoạt động nhanh chóng. Chúng tôi thực sự khuyên bạn nên xem bài nói chuyện của Alex Gallego (Người sáng lập và Giám đốc điều hành của Redpanda Data) về Đồng thiết kế mô hình thực thi Raft + luồng mỗi lõi cho Kafka-API , nơi anh ấy trình bày chi tiết nhiều kỹ thuật. Khả năng tương thích với các API Kafka, thực tế là nó được xây dựng từ đầu để tận dụng trạng thái phần cứng hiện tại và với mục tiêu là đơn giản hóa hoạt động đã khiến điều này rất thú vị đối với chúng tôi.

Triển khai Redpanda trên Đám mây của IBM

Để dễ dàng quá trình cài đặt, việc cung cấp cơ sở hạ tầng IBM và cấu hình Redpanda có thể được tự động hóa. Quá trình tự động hóa này được thực hiện bằng cách sử dụng Terraform để cung cấp cơ sở hạ tầng và Ansible để tự động hóa việc triển khai Redpanda. Chúng tôi đã đóng góp vào kho lưu trữ [ tự động hóa triển khai ] cho Redpanda để bao gồm hỗ trợ Đám mây của IBM. Để bắt đầu:

  1. Sao chép kho lưu trữ bằng các tập lệnh địa hình và Ansible từ [ đây ]
  2. Thực hiện theo các hướng dẫn trong [ README ] này để thiết lập tài khoản IBM Cloud của bạn cũng như cung cấp cơ sở hạ tầng sử dụng địa hình.
  3. Sau khi cơ sở hạ tầng của bạn được thiết lập thành công, hãy làm theo hướng dẫn [ tại đây ]

Kiểm tra khả năng tương thích

Đến từ Kafka, mục tiêu đầu tiên của chúng tôi là kiểm tra xem kho ứng dụng Kafka Streams hiện có của chúng tôi dựa trên SpringBoot và Avro Schemas có hoạt động trơn tru với Redpanda như đã quảng cáo hay không. Điều này là để mô phỏng một kịch bản trong đó chúng tôi hoán đổi cụm Kafka với một cụm Redpanda. Để làm như vậy, chúng tôi đã sử dụng một ứng dụng demo sử dụng các phiên bản gói giống hệt nhau và thiết lập để chúng tôi chạy trong sản xuất tại khách hàng của mình và chỉ cần thay thế các máy chủ khởi động Kafka và sổ đăng ký lược đồ hợp lưu bằng các dịch vụ Redpanda.

Chúng tôi rất ngạc nhiên rằng điều này hoạt động hiệu quả mà không cần bất kỳ sự điều chỉnh nào. Bạn có thể tìm ứng dụng demo của chúng tôi và thử nó cho chính mình [ tại đây ].

Ngoài ra, chúng tôi cũng đã hoàn toàn di chuyển các đầu nối bồn rửa của mình và không gặp vấn đề gì. Về cơ bản, chúng tôi đã thay thế hoàn toàn Kafka bằng Redpanda trong quá trình triển khai của mình. Thay đổi duy nhất là URL máy chủ bootstrap mới và thay đổi hoàn toàn minh bạch đối với các ứng dụng của chúng tôi.

Những ấn tượng đầu tiên

  • Đơn giản trong cài đặt và quản lý: Cách chính khi thiết lập Redpanda là sự đơn giản của nó. Redpanda xuất hiện dưới dạng một nhị phân duy nhất. Không có Zookeeper và Schema Registry cũng được tích hợp sẵn. Với công việc hàng ngày của chúng tôi với Kafka, nơi chúng tôi duy trì ba ứng dụng phân tán riêng biệt bao gồm nhà môi giới, người giữ vườn và đăng ký lược đồ, đây là một thay đổi đáng hoan nghênh. Điều này làm giảm đáng kể sự phức tạp của việc xâu chuỗi các triển khai với nhau, quản lý nhiều tệp cấu hình, cũng như trong trường hợp có sự cố gỡ lỗi.
  • Redpanda CLI thật tuyệt vời: CLI được cung cấp rất trực quan để sử dụng cũng như cung cấp một lượng lớn năng lượng. Nó cung cấp một cách dễ dàng để kiểm tra trạng thái của cụm và chủ đề của bạn trong khi không yêu cầu sử dụng công cụ bên ngoài hoặc GUI bổ sung. Với tư cách là nhà điều hành, chúng tôi thực sự hoan nghênh sự thân thiện với nhà phát triển của công cụ này.
  • Các ứng dụng khách Kafka hoàn toàn tương thích Redpanda hoàn toàn tương thích với các ứng dụng Kafka Streams và Kafka Connector hiện có của chúng tôi. Ban đầu, chúng tôi lo lắng rằng chúng tôi sẽ cần phải cấu hình lại hoặc thay đổi các phần phụ thuộc của ứng dụng của mình, nhưng thông qua thử nghiệm khả năng tương thích của chúng tôi, nó chỉ đơn giản như việc trỏ ứng dụng của chúng tôi đến một nhà môi giới và sổ đăng ký lược đồ mới và các ứng dụng của chúng tôi hoạt động như dự định.

Chúng tôi đang tiếp tục làm việc với Redpanda và đó là công nghệ mà chúng tôi cảm thấy thoải mái khi đề xuất về các cam kết với khách hàng của mình. Nếu bạn đang sử dụng Redpanda và có những bài học bạn đã học được, vui lòng chia sẻ chúng qua nhận xét. Chúng tôi luôn học hỏi và đánh giá cao việc nghe những gì người khác đã trải qua.

Chúng tôi cũng muốn cảm ơn Alex Gallego, Patrick Thompson và Patrick Angeles vì ​​đã dành thời gian cho chúng tôi và hỗ trợ chúng tôi khi chúng tôi trở thành mọt sách với Redpanda.

Người giới thiệu

[1] “Công nghệ Radar”, ThoughtWorks , 2022. [Trực tuyến]. Có sẵn:https://www.thoughtworks.com/en-us/radar. [Truy cập: 22- tháng 3- 2022].

[2] “Apache Kafka”, Apache Kafka , 2022. [Trực tuyến]. Có sẵn:https://kafka.apache.org. [Truy cập: 22- tháng 3- 2022].

[3] “Redpanda”, Redpanda.com , 2022. [Trực tuyến]. Có sẵn:https://redpanda.com. [Truy cập: 22- tháng 3- 2022].

[4] “Triển khai-tự động hóa / ibm”, GitHub , 2022. [Trực tuyến]. Có sẵn:https://github.com/redpanda-data/deployment-automation/tree/main/ibm. [Truy cập: 22- tháng 3- 2022].

[5] “IBM Cloud”, Ibm.com , 2022. [Trực tuyến]. Có sẵn:https://www.ibm.com/cloud. [Truy cập: 22- tháng 3- 2022].

© Copyright 2021 - 2023 | vngogo.com | All Rights Reserved