서버간 통신을 할 때 서버간에 다이렉트로 소켓 연결이나, rest call 연결을 할 경우 복잡성이 매우 증가 할 수 있습니다. (최악의 경우 N^2)
예를 들어 128대의 서버간 망형태로 연결이 필요 할 경우 16,384개의 연결이 필요합니다. 보통 이를 해결 하기 위해 중계 서버를 만들거나 메세지큐 형태의 서비스를 이용하는데 이러한 서비스를 제공하는 것이 Kafka라는 서비스입니다.
서버간 통신을 할 때 서버간에 다이렉트로 소켓 연결이나, rest call 연결을 할 경우 복잡성이 매우 증가 할 수 있습니다. (최악의 경우 N^2)
예를 들어 128대의 서버간 망형태로 연결이 필요 할 경우 16,384개의 연결이 필요합니다. 보통 이를 해결 하기 위해 중계 서버를 만들거나 메세지큐 형태의 서비스를 이용하는데 이러한 서비스를 제공하는 것이 Kafka라는 서비스입니다.
대용량 서비스에서 각 장비에서 발생하는 로그를 한 장소에 모으고 해당 정보를 통합 모니터링 할 수 있는 시스템은 반드시 필요합니다. 장비가 몇 대 안될 경우 직접 장비에 접근하여 파일 로그를 살펴보며 이슈 대응이 가능하지만, 물리 장비가 수백, 수천대 일 경우는 참 난감한 상황입니다.
이러한 상황을 해결하기 위한 로그 분석 모니터링 서비스를 구축 할 때 ElasticSearch + ( LogStash or FluentD ) + Kibana를 조합하여 많이 사용합니다.
구글에서는 사이트 접근시 유입분석과 체류시간 등의 각종 통계 분석이 가능한 웹 기반 콘솔 서비스를 제공합니다.
Google이나 Naver에 블로그나 사이트를 노출시키기 위해서는 검색엔진 제공 업체의 검색콘솔 등에 직접 등록하는 것이 좋습니다.
등록해야 하는 파일은 비슷하지만, 회사마다 방법이 조금 달라 그 방법과 Hugo 기반 블로그에서 필요한 파일을 생성하는 방법을 소개합니다.
비동기 프로그래밍에서 futue는 강력한 도구입니다.
이전 포스팅에서 future와 then을 결합하여 연속 연결을 만드는 부분에 대하여 알아봤습니다.
future를 리턴하는 3개 이상의 비동기 연속 연결을 만드려면 unwrap을 이용해야 합니다.
SVN의 blame 기능은 소스코드 형상관리시 누가 언제 커밋을 했고 해당 소스코드의 어떤 변경내역이 있었는지
한눈에 파악 할 수 있는 기능을 제공합니다. Perforce에도 비슷한 기능이 있는데 바로 Time Lase View입니다.
코딩 컨벤션이란 협업 관계에서 프로그래머 사이의 규칙입니다.
컨벤션이 잘 되어 있을 경우 그 구조만으로 의도 파악이 쉽고(내부에서 Lock을 사용하는 함수를 바로 알아본다거나) 유지보수 비용과 버그를 줄일 수 있습니다.
컨벤션 규칙은 다양하며 본인 스타일이 있더라도 회사에서 정하는 규칙이 있을 경우 따르는 것이 좋습니다.