rraft-py: Raft 알고리즘 구현체의 파이썬 바인딩 개발
(github.com/lablup)안녕하세요, 스타트업에서 데브옵스로 일하고 있는 주니어 개발자입니다.
저희 회사 제품은 독자적인 오케스트레이터 구현체를 갖고 있어 Raft 알고리즘을 사용해야 할 일이 있었습니다. 해당 제품은 파이썬으로 개발되었는데 파이썬 쪽에 De-facto로 사용되는 Raft 알고리즘 구현체가 따로 없는 것 같았습니다.
그래서 잘 알려진 신뢰할 수 있는 raft 라이브러리에 대한 Python 바인딩을 작성하기로 결심했습니다. 바인딩을 작성하는 과정은 예상보다 어려웠지만, 여러 시행 착오 끝에 모든 하네스 테스트 코드를 통과하는 바인딩을 구현하는 데에 성공했습니다.
하지만 소스 코드를 모두 작성한 후에도, async-raft나 Hashicorp의 raft 구현체와 같은 다른 구현체를 선택했어야 했을지, 바인딩을 작성하는 대신 소스 코드 자체를 이식하는 것이 좀 더 현명한 선택이었을지에 등 여러 가지 생각이 들고 있습니다.
다른 분들은 이 Python 바인딩에 대해 어떻게 생각하실지 궁금해 글을 올립니다.