![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lAWmG/btsGY9hIwlg/LI5Ekr034QK5WGFWdneNwK/img.png)
목차파티셔너카프카에서 메시지 전송 구현방식 파티셔너프로듀서가 전송하려는 메시지들은 프로듀서의 send() 메소드를 통해 시리얼라이저, 파티셔너를 거쳐 카프카로 전송된다.이 과정을 파티셔닝이라고 한다.카프카의 토픽은 성능 향상을 위해 병렬 처리가 가능하도록 파티션으로 나누고, 각 파티션에 프로듀서가 전송한 메시지가 로그 세그먼트에 저장된다.프로듀서는 토픽으로 메시지를 보낼 때 해당 토픽의 어느 파티션으로 메시지를 보내야 할지를 결정 하는데, 이때 사용하는 것이 "파티셔너(partitioner)"입니다.기본적으로 메시지(레코드)의 키를 Hash처리 해 파티션을 구하는 방식을 사용하는데, 메시지의 키 값이 동일하면 해당 메시지들은 모두 같은 파티션으로 전송되는 방식으로 구현된다.배치전송 옵션buffer.mem..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cCKR8Q/btsGYN7fm7V/2v8F6MFFk8KGhmlz9Bj7K1/img.png)
Q. 어떻게 Kafka 가 높은 처리량, 빠른 응답 속도, 안정성을 갖는지? 1) 분산시스템카프카는 분산시스템이다.최초로 구성하는 클러스터에 브로커를 추가하는 방식이여서 확장이 가능하고 카프카 브로커 추가는 온라인 상태에서 매우 쉽다. 이런 확장이 용이한 구조가 카프카의 장점, 그리고 분산 시스템이므로 성능이 좋고, 장애 대응이 좋다는 점.초기에 카프카 클러스터가 3대 브로커 운영중이더라도, 서비스가 증가하여 브로커를 증가하는게 용이다하. 수십개, 그 이상으로도 브로커로도 확장할 수도 있다. 2) 페이지 캐시 "페이지 캐시"의 이용으로 높은 처리량을 얻을 수 있었다!운영체제에서 페이지 캐시를 통해 성능을 높이는데 카프카도 Os의 페이지 캐시를 활용하는 방식으로 설계된다. 디스크 IO를 줄여..
그냥 String 으로 @이름 박으면 알아서 해주는줄 알았더니 형식이 다름. POST 로 webhook URL로 아래 형식으로 보내야됨 url 참조 Text formatting in cards - Teams | Microsoft Learn { "type": "message", "attachments": [ { "contentType": "application/vnd.microsoft.card.adaptive", "content": { "type": "AdaptiveCard", "body": [ { "type": "TextBlock", "size": "Medium", "weight": "Bolder", "text": "Sample Adaptive Card with User Mention" }, { "typ..