본문 바로가기

Go2

[gRPC] gRPC의 등장배경과 gRPC 이전의 통신 마이크로서비스 아키텍처와 클라우드 네이티브 아키텍처의 출현으로 기능이 세분화되고 의존성이 낮은 마이크로서비스로 분리되었습니다. 여러개의 마이크로서비스로 분리되면서 각각의 프로세스(서비스)들은 어떠한 통신기술(RESTful, IPC 등등..)을 사용해 네트워크로 통신을하게 되었습니다. 예를 들어 위와 같이 온라인 판매 시스템을 마이크로서비스 아키텍처 기반으로 구현한다면 각각의 웹 UI, 상품 검색, 주문 관리, 결제, 배송 관리 같은 서비스들이 네트워크 상으로 연결되어 데이터를 주고 받게 되었습니다. 그래서 프로세스 간 통신을 하면서 네트워크의 트래픽이 많아지게 되어 효율적인 통신 방식이 중요한 부분으로 떠오르게 되었습니다. 프로세스 간 통신(IPC) 프로세스간의 서로 데이터를 주고받는 방법을 IPC(In.. 2021. 12. 22.
WSL2 에서 데이터 베이스를 MySQL로 사용하여 로컬에서 연결시도시 dial tcp 127.0.0.1:3306: connect: connection refused 문제 해결방법 Golang(Gin 프레임워크 사용)으로 백엔드를 사용하던중 WSL2에 올려놓은 MySQL에 연결을 하려고하니 계속 다음과 같은 에러가 발생했습니다. 로컬에서는 mysql이 잘 접속되는 상황이 었습니다. 하지만 -h로 호스트 주소를 지정할 경우에는 똑같이 에러메시지가 발생하는 것을 볼 수 있었습니다. 그런데 -h 옵션을 주었을때 127.0.0.1이 아닌 localhost를 주었을 때는 접속이 되는 상황이었습니다. 그래서 localhost와 127.0.0.1로 접속시도시 차이점에 대해 찾아보았더니 localhost로 접속 시도시 유닉스 소켓을 통해 mysql에 연결하고 127.0.0.1로 연결시도시 TCP/IP로 연결하게 됩니다. 그래서 Go 코드에서 TCP연결이 아닌 Socket 연결을 하도록 다음과 같.. 2021. 12. 16.