Java Spring boot kafka ลบข้อความออกจากหัวข้อพร้อมออฟเซ็ต

ฉันกำลังพยายามสร้างแอพ spring boot (java) ที่ต้องสามารถลบข้อความออกจากหัวข้อคาฟคาโดยให้หมายเลขออฟเซ็ตและพาร์ติชัน ฉันเคยค้นคว้าคลาสแพ็คเกจ java หรือ spring boot ที่สามารถทำได้ แต่ฉันพบบางอย่างเช่นนี้: ลบข้อความจากหัวข้อใน Apache Kafka มีไคลเอ็นต์ java kafka ที่มีวิธีการลบข้อความทั้งหมดก่อนออฟเซ็ต แต่ฉันมีเพียงอันเดียวที่จะลบอันเดียว มันเป็นไปได้เหรอ?

ขอบคุณล่วงหน้า


person Gabriel García Garrido    schedule 08.09.2020    source แหล่งที่มา
comment
สิ่งนี้ตอบคำถามของคุณหรือไม่? ลบบันทึกเดียวจากหัวข้อ kafka เป็น kafka เปล่า ไม่ใช่โดยตรง มีอยู่ใน Java API แต่การเห็นคำตอบโดยส่วนใหญ่แล้วคุณไม่สามารถทำได้ ซึ่งนั่นก็ใช้ได้กับ Java เช่นกัน   -  person GPI    schedule 08.09.2020
comment
ต้องลบทิ้งครับ ทิ้งข้อความเป็นโมฆะไม่ได้แล้ว และต้องทำใน Java ด้วย ????   -  person Gabriel García Garrido    schedule 08.09.2020
comment
ใครเป็นคนให้ข้อกำหนดนี้แก่คุณ และพวกเขาเข้าใจหรือไม่ว่าคาฟคาทำงานอย่างไร   -  person OneCricketeer    schedule 08.09.2020


คำตอบ (1)


หากคุณมีเพียงหมายเลขออฟเซ็ตและพาร์ติชัน และคุณสามารถลบเรกคอร์ดที่ออฟเซ็ตนั้นได้ คุณไม่สามารถรับประกันได้ว่าผู้บริโภคทั้งหมดจะมีมุมมองที่สอดคล้องกันในที่สุด ด้วยเหตุนี้จึงไม่ใช่การดำเนินการมาตรฐาน

คำแนะนำ: เขียนบันทึกใหม่ด้วยคีย์เดียวกันและเนื้อหาว่างสามารถใช้เป็นเหตุการณ์เพื่อแจ้งให้ผู้บริโภคทุกคนทราบว่าบันทึกถูกลบแล้ว

เรกคอร์ดที่มีเนื้อหาเป็นโมฆะจะยังคงอยู่ในหัวข้อตามที่กำหนดค่าไว้ในเวลาการเก็บรักษาการลบ โดยปกติแล้วจะนานกว่าเวลาเก็บรักษาปกติ เพื่อให้แน่ใจว่าผู้บริโภคมีเวลาเพียงพอที่จะลบบันทึกที่ล้าสมัย หลังจากหมดเวลาการเก็บรักษาการลบ ทั้งเรกคอร์ดดั้งเดิมและเรกคอร์ดว่างจะถูกลบออกโดยการบีบอัดบันทึก

person GreyFairer    schedule 08.09.2020