본문 바로가기

Work158

개발 노트, TCP에서 패킷 수신에 대한 정리 TCP에 대한 작업을 할 때 레이어 간의 역할에 대해 혼동이 자주 온다. transport 레이어에서 하는 일이 application 레이어에서 하는 일로 혼동하기도 하고 그 반대로 생각하기도 해서 이럴 때마다 기본 지식이 많이 부족함을 느낀다. 그래서 대환이형과 얘기를 해보며 잘못된 지식을 바로 잡고 간단히 정리를 해보기로 했다. (주관적인 내용이므로 여기에 또다른 오류가 존재할 수도 있음) 클라이언트에서 패킷 전달하면 라우터나 스위치같은 여러 기기를 거쳐서 서버로 전달이 되는데 이때 각 기기마다 MTU가 다르기 때문에 이 MTU크기에 맞춰서 패킷을 쪼개 보내게되고 각 쪼개진 패킷에는 시퀀스번호가 붙어서 가게 된다. 그리고 수신받는 서버에서는 쪼개진 패킷을 붙이는작업을 transport 레이어에서 하게.. 2015. 8. 27.
GopherCon Korea 2015 컨퍼런스를 다녀와서.. 2015년 8월 15일 요즘 관심을 가지고 보고 있는 Go 언어에 대한 세미나 정보를 우연찮게 보게 되서 신청했었다. 250명이 참가 인원이었는데 가득차서 처음엔 대기자로 등록되었다가 얼마전에 참가 확정이 되었다는 메일을 받게 되었다. 이 전 주에 Go 언어에 대해 전혀 모르면 얻는게 별로 없을거 같아서 Go 언어 책을 사서 급하게 읽어보았다.다 보진 못했고 겉핥기 식으로 보긴 했지만 그래도 도움이 많이 되었다. 장소는 삼성역에 있는 구글 캠퍼스 서울, 컨퍼런스 시간은 오후 1시부터 6시까지 5시간동안 진행되었다. 이번 컨퍼런스에서는 얼마전에 읽었던 비쥬얼 씽킹이라는 책을 보고 다짐했던 것을 실천해보기 위해 내용을 전부 마인드맵으로 기록해 보았다. 책에서 처럼 손으로 직접 그려보고 싶었지만 익숙치 않아서.. 2015. 8. 16.
MSA를 이용해 구현하는 고가용/고확장 서비스 정리 MSA를 이용해 구현하는 고가용/고확장 서비스 MSA 등장 배경비즈니스는 갈 수록 복잡해지고(요구사항이 많아짐) 기술 수명은 점점 짧아지며, 이러한 이유로 신/구(레거시) 기술이 공존하는 상황이다. 이러한 상황에서 성능이 가장 큰 문제점으로 부상하게 되는데 반도체 기술이 한계에 부딪혀서 인스턴스를 늘리는 방식(클라우드, 람다 아키텍처)이 각광 받고 있다. 이러한 인스턴스 늘리는 방식 중 최근 대두되고 있는 것이 마이크로 서비스이다. 마이크로서비스(MSA)란 독립적이고 단순한 서비스로 전체 서비스를 구성할 수 있게하는 아키텍처이다. 참고 : 마이크로 서비스의 아홉가지 특징http://martinfowler.com/articles/microservices.html 마이크로서.. 2015. 1. 23.
개발 노트, SQLAlchemy PoolTimeout 문제 문제 : pool 사용 시 설정된 수보다 많은 session을 사용하려고 할때 timeout이 발생 pool_recycle 값을 셋팅해서 mysql과의 Connection 문제는 해결 했는데 또 같은 에러인 'MySQL server has gone away'가 발생했다.정상적으로 pool에서 session을 얻어올 때 메시지 > checked out from pool pool의 한계치에 도달했을때 메시지 > being returned to pool > rollback-on-return timeout 발생 메시지 > QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30 결론은 pool을 사용할 때 리소스를 반환해주지 .. 2014. 11. 25.