엄청 신기했다. 이렇게 트래픽이 급증하여 해결하는 과정을 한번쯤 겪어보고 싶다. 해당 글은 문제사항과 그에 대한 해결사항을 서술하고 있다.
카프카랑 서킷브레이커, 각종 모니터링 등 다뤄보지 않아서 너무나도 흥미뤘다.
모든 것이 새로웠지만, 이번에 아는 지식에서 갱신된 지식은
AUTO-INC Lock
- AUTO_INCREMENT 컬럼의 값을 일관성을 보장하기 위해 사용하는 Lock
- 하나의 트랜잭션이 해당 컬럼 내의 연속 숫자를 부여받기 위해서 해당 Lock을 걸고, 이로 인해 다른 트랜잭션들이 대기함으로써 순차적으로 연속 숫자를 부여받도록 해준다.
- 1 (consecutive lock mode)가 기본 default값
- simple insert(삽입할 행의 수를 미리 알고 있음) 구문에서는 AUTO-INC 는 뮤텍스(경량 잠금)의 제어 하에 필요한 수의 자동 증가 값을 얻어 수행 (테이블락 아님)
- Bulk insert 사용 시 테이블 수준 잠금 AUTO-INC을 사용
취업 전에 내 목표는 취업이었다면 해당 목표를 이루어서, 지금 목료는 남들보다 뛰어난 미들레벨 개발자가 되는 것이 목표이다. 사실 추상적이었다. '남들보다 뛰어난'의 기준이 무엇일까 대한 기준이 아직까지는 없었다. 그 기준을 세우는 것부터가 내 현재 해야 할일 1순위가 되겠다.
해당 글은 미들레벨 엔지니어가 갖추어야 할 역량이지만, 지금부터라도 실천할 수 있을 만한 태도도 기입되어 있었다.
1) 동료 개발자들이 어떤 이슈를 올리면, 가능하면 꼭 봐서 도움을 주려고 노력한다.
-- 내 단서로 동료가 해당 이슈를 빠르게 해결할 수 있다 (나중에 내가 해당 이슈와 비슷한 이슈를 겪을때 더 쉽게 해결할 수 있겠다는 생각이 들었다.)
2) 새로 도입하려는 기술의 장단점을 비교해 자신의 의견을 충분한 근거와 함께 제시할 수 있어야 한다.
3) 주니어 레벨의 경우, 작은 성과에 대해서도 인정받을 수 있지만, 경력이 쌓이면 본인에게 주어진 일을 해내는 것을 넘어, 팀 동료에게 도움을 줄 수 있어야한다. 동료들에 비해 더 잘 아는 분야가 하나도 없다면, 자주 쓰는 기술 하나 정도는 깊게 공부해야한다.
4) 미들레벨엔지어는 전문가로 불릴 수 있는 커리어의 시작단계기에 일정 수준 이상 퍼포먼스를 낼 수 있어야 한다.
앞으로의 내 목표를 위해 파이팅!
Microsoft, Rust로 Windows 커널 코드를 수정하느라 바쁨
rust가 외국에서는 유행이라고 했지만, 실무에 적용되기까지는 어느 정도의 시간이 걸릴 것이라 생각하고 있었는 MS에서 벌써부터 도입을 시작했다고 하니 정말 놀랍다. 이전에 구글도 rust를 선호한다고는 했지만 대기업들이 줄줄히 rust로 전환하는 모습이 보인다. 앞으로 미래에는 rust가 대세가 되지 않을까 싶다.