1.一種基于kafka的消息處理方法,應(yīng)用于kafka的生產(chǎn)者,其特征在于,所述方法包括:
在發(fā)布消息時(shí),調(diào)用生產(chǎn)者攔截器,所述生產(chǎn)者攔截器用于攔截生產(chǎn)者發(fā)布消息的參數(shù);
將發(fā)布消息的參數(shù)作為參數(shù)記錄輸出。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,
所述生產(chǎn)者發(fā)布消息的參數(shù)包括消息的主題、分區(qū)、偏移量和鍵值;
相應(yīng)的,所述生產(chǎn)者攔截器包括四種類型:生產(chǎn)者主題攔截器、生產(chǎn)者分區(qū)攔截器、生產(chǎn)者偏移量攔截器和生產(chǎn)者鍵值攔截器,分別用于攔截生產(chǎn)者發(fā)布消息的主題、分區(qū)、偏移量和鍵值。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述每種類型的生產(chǎn)者攔截器的數(shù)量均為至少一個(gè),并分別定義在生產(chǎn)者攔截器列表中;
相應(yīng)的,所述調(diào)用生產(chǎn)者攔截器包括:
針對所述生產(chǎn)者攔截器列表中每種類型的至少一個(gè)生產(chǎn)者攔截器,進(jìn)行依次調(diào)用,其中,在同種類型的至少一個(gè)生產(chǎn)者攔截器中,每個(gè)生產(chǎn)者攔截器還用于將攔截到的參數(shù)傳遞給下一個(gè)生產(chǎn)者攔截器;
相應(yīng)的,所述將發(fā)布消息的參數(shù)作為參數(shù)記錄輸出包括:
將所述生產(chǎn)者攔截器列表中每種類型的最后一個(gè)生產(chǎn)者攔截器攔截到的參數(shù),以及所述最后一個(gè)生產(chǎn)者攔截器從其上一個(gè)生產(chǎn)者攔截器傳遞得到的參數(shù),作為參數(shù)記錄輸出。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述每個(gè)生產(chǎn)者攔截器還用于判斷所攔截到的參數(shù)中是否存在無效信息,并在判斷為存在無效信息時(shí),將無效信息更改為空值。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述調(diào)用生產(chǎn)者攔截器還包括:
當(dāng)調(diào)用的生產(chǎn)者攔截器拋出異常時(shí),則在所述生產(chǎn)者攔截器列表的與所述拋出異常的生產(chǎn)者攔截器類型相同的生產(chǎn)者攔截器中,將所述拋出異常的生產(chǎn)者攔截器之前被調(diào)用并無異常的生產(chǎn)者攔截器攔截到的參數(shù)傳遞給下一個(gè)生產(chǎn)者攔截器;
調(diào)用所述下一個(gè)生產(chǎn)者攔截器進(jìn)行參數(shù)攔截。
6.一種基于kafka的消息處理方法,應(yīng)用于kafka的消費(fèi)者,其特征在于,所述方法包括:
在訂閱消息時(shí),調(diào)用消費(fèi)者攔截器,所述消費(fèi)者攔截器用于攔截消費(fèi)者訂閱消息的參數(shù);
將訂閱消息的參數(shù)作為參數(shù)記錄輸出。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,
所述消費(fèi)者訂閱消息的參數(shù)包括消息的主題、分區(qū)、偏移量、鍵值;
相應(yīng)的,所述消費(fèi)者攔截器包括四種類型:消費(fèi)者主題攔截器、消費(fèi)者分區(qū)攔截器、消費(fèi)者偏移量攔截器和消費(fèi)者鍵值攔截器,分別用于攔截消費(fèi)者訂閱消息的主題、分區(qū)、偏移量和鍵值。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述每種類型的消費(fèi)者攔截器的數(shù)量均為至少一個(gè),并分別定義在消費(fèi)者攔截器列表中;
相應(yīng)的,所述調(diào)用消費(fèi)者攔截器包括:
針對所述消費(fèi)者攔截器列表中每種類型的至少一個(gè)消費(fèi)者攔截器,進(jìn)行依次調(diào)用,其中,在同種類型的至少一個(gè)消費(fèi)者攔截器中,每個(gè)消費(fèi)者攔截器還用于將攔截到的參數(shù)傳遞給下一個(gè)消費(fèi)者攔截器;
相應(yīng)的,所述將訂閱消息的參數(shù)作為參數(shù)記錄輸出包括:
將所述消費(fèi)者攔截器列表中每種類型的最后一個(gè)消費(fèi)者攔截器攔截到的參數(shù),以及所述最后一個(gè)消費(fèi)者攔截器從上一個(gè)消費(fèi)者攔截器傳遞得到的參數(shù),作為參數(shù)記錄輸出。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述每個(gè)消費(fèi)者攔截器還用于判斷所攔截到的參數(shù)中是否存在無效信息,并在判斷為存在無效信息時(shí),將無效信息更改為空值。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述調(diào)用消費(fèi)者攔截器還包括:
當(dāng)調(diào)用的消費(fèi)者攔截器拋出異常時(shí),則在所述消費(fèi)者攔截器列表的與所述拋出異常的消費(fèi)者攔截器類型相同的消費(fèi)者攔截器中,將所述拋出異常的消費(fèi)者攔截器之前被調(diào)用并無異常的消費(fèi)者攔截器攔截到的參數(shù)傳遞給下一個(gè)消費(fèi)者攔截器;
調(diào)用所述下一個(gè)消費(fèi)者攔截器進(jìn)行參數(shù)攔截。