Memcached

Memcached ?

Memcached는 범용적인 메모리 캐쉬 시스템으로 Danga Interactive에서 LiveJournal개발을 위해 만들어진 것 입니다. 현재는 굉장히 많은 곳에서 활용되고 있습니다. 국내에서도 많이 쓰고 있는지는 조사를 해보지 않아서 잘 모르겠습니다. 요즘은 Memcached 외에도 Redis, Infinispan, Hazelcast 등도 각광받는 것 같습니다. (물론 저도 제대로 활용해본적은 없습니다. 공부는 하는 중입니다만)

다른 것보다 Memcached는 워낙 안정성을 인정받았기때문에 지금까지도 발전하고 쓰이고 있습니다. 내부 소스코드도 굉장히 보고 배울 것이 많습니다.(C초보인 저에게 굉장히 매력적입니다.) 이 코드에서 영감을 받거나 도움을 많이 받았다고 언급하는 오픈소스들도 있습니다. 나중에 차차 하나하나 포스팅할 예정입니다.

이 포스트에서는 볼 것은 별로 없습니다. 무엇을 정리하고 하나둘씩 작성할지 적어놓는 곳이라고 보면됩니다.

이 포스트에서는 다음에 기록할 Internals과 이 소스코드를 보고 배운점들을 먼저 제목으로 정리하고 자세한 것은 시간나면 작성하겠습니다.

Memcached Internals

  • Memory Allocations
  • Eviction Policy (LRU)
  • Consistent Hashing

소스분석하고 배울 수 있었던 것

C를 시작한 것이 불과 몇달되지 않았는데 memcached 소스를 보면서 독학했습니다. 자바와는 또 다른 매력을 많이 느꼈습니다.

  • 요즘 event-driven형태의 개발이 각광받고있습니다. 기본적으로 memcached도 그렇습니다.
  • memory fragment 현상을 위해 했던 노력
  • performance 개선을 위해서 했던 노력
  • dynamic library을 활용한 확장
About these ads

Tagged:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

%d bloggers like this: