본문 바로가기
728x90

전체 글3

훈수터디 - 카프카 카프카는 Event Streaming Platform입니다. 무슨 뜻일까요? 3가지 핵심 기능을 결합한다.To publish (write) and subscribe to (read) streams of events, including continuous import/export of your data from other systems.To store streams of events durably and reliably for as long as you want.To process streams of events as they occur or retrospectively.이 모든 기능은 분산되고 확장성이 뛰어나고 탄력적이며 내결함성이 있고 안전한 방식으로 제공된다.  카프카는 고성능 TCP 네트워크 프로토.. 2025. 1. 8.
훈수터디 - mysql lock & deadlock & 그 외 .. mysql의 lock 종류shared lockexclusive lockintention lock잠금 매커니즘을 위해 자주 사용하는 것select for update, select for share는 트랜잭션의 일관성과 동시성 제어를 보장하기 위해 lock 매커니즘 일환으로 지원된다.select for update : 데이터가 변경되지 않도록 보장, 쓰기 충돌 방지,select for share : 데이터를 읽는 동안 다른 트랜잭션이 수정하지 못하게 하여 일관된 읽기 보장, 쓰기작업은 막지만 읽기는 허용하여 동시성 향상dead lock 발생 시나리오1. 트랜잭션간 교차락 (Cross Locking)두 개 이상의 트랜잭션이 서로 반대 순서로 동일한 자원을 잠그려고 시도할 때 발생document a를 승인처리.. 2024. 12. 4.
[데이터 중심 애플리케이션 설계] 8. 분산 시스템의 골칫거리 결함과 부분 장애  단일 환경의 프로그래밍은 보통 예측 가능하고 결정적인 방식으로 동작한다. 예측 가능함과 결정적의 의미는 하드웨어가 올바르게 동작하면 같은 연산은 항상 같은 결과를 만든다. 또한 하드웨어에 문제가 있더라도 보통 시스템이 완전히 실패하는 결과를 만들기 때문에 중간 상태가 없다. 현실 세계의 불분명한 물리적 문제를 감추고 수학적 완벽함을 갖고 동작하는 이상화된 시스템 모델을 보여준다.   네트워크로 연결된 분산 환경 프로그래밍은 단일 환경과는 근본적으로 상황이 다르다. 물리 세계의 지저분한 현실을 마주해야 한다. 예측할 수 없는 방식으로 고장 나는 시스템의 일부분들은 비결정적인 부분 장애를 만든다. 심지어 성공 했는지 아닌지 알지 못하는 경우도 많다.비결정성과 부분 장애 가능성이 분산 시스.. 2023. 12. 4.
728x90