전체 글17 뭐? MSA? 그렇다면 다른 서비스를 호출해보자 Service Mesh. - 02 이전에는 MSA의 기본인 Gateway를 구현했습니다. 자 그러면 마이크로 서비스 답게 내부의 서비스들은 각자의 방법으로 메시지를 주고받아야 합니다. 그렇다면 어떤 방법을 사용해야 할까요? 앞에서 만든 Gateway를 사용하는 것도 하나의 방법이 될 수 있습니다. 이 방법을 사용하면 모든 트래픽을 게이트웨이에서 관리하니까 로깅같은 부분에서는 더욱 용이할거라고 생각합니다. 하지만 모든 네트워크 통신이 Gateway라는 단일 진입점을 사용하게 되면, 서비스의 트래픽이 커졌을 때, 게이트웨이의 장애가 전체 서비스의 장애가 될 수 있습니다. 이를 단일 장애점 (Single point of failure) 이라고 합니다. 따라서 각각의 서비스는 peer-to-peer 방식으로 통신이 이루어지는게 이상적인 아키텍처.. 2021. 4. 14. OAuth2.0 + JWT를 사용한 토큰 기반 서버 인증 구현하기 토큰 기반 인증 인증받은 사용자들에게 토큰을 발급하여, 서버에 접근할 때 토큰 정보를 함께 보내어 인증을 합니다. 서버에서는 사용자 인증 벙보를 세션으로 가지고 있을 필요가 없기 때문에 Stateless한 구조라고 하며, 서버를 확장하기 용이합니다. 인증에 사용할 OAuth2 Provider Google Naver Kakao 개발 전 준비 사항 OAuth2는 인증서버에서 로그인 후 인증서버에서 우리의 서버로 토큰을 보내주기 위해 Callback url을 등록해주어야 합니다. OAuth2를 제공해주는 개발자 센터에 OAuth2 인증을 사용하기 위한 어플리케이션 등록 합니다. developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카.. 2021. 4. 12. 겉핥기는 나쁘지 않아요 계속 핥으면 언젠가 도달할 수 있겠지 2021. 4. 11. AWS Container Immersion Day - EKS Amazon Elastic Kubernetes Service 완전 관리형의 Control Plane 운영자 입장에서 여러 고가용성, 버전 업그레이드등의 이슈를 확인할 필요가 없다. AWS의 여러 서비스 자원을 융합하여 사용 가능 VPC - 내 VPC에서 Control plane쪽 VPC에 액세스를 하면 Control plane은 내 VPC에 ENI로 통신을 한다. IAM - 쿠버네티스는 자체적으로 인증정보를 갖고있지 않기 때문에 외부 인증 메카니즘을 수행해야 함 k8s의 upstream으로 k8s의 모든 api와 완벽히 호환 됨 Data Plane 가용전에 인스턴스가 생성되고 그 인스턴스 안에 Pod들이 배치 됨 관리형 노드 그룹 인스턴스를 별도로 만들 필요 없고, 한번의 조작으로 클러스터에 대한 노드 .. 2021. 4. 8. AWS Container Immersion Day - ECS Containers on AWS 컨테이너는 클라우드 환경에서 어플리케이션을 실행하는 방법에 대해 표준이 될 정도로 많은 사용자들이 컨테이너를 사용합니다. 2020년 CNCF (클라우드 네이티브 컴퓨팅 재단)의 survey결과 91%의 제품에 컨테이너를 사용중이라고 합니다. 컨테이너는 VM이 아니고 프로세스이기 때문에 다양한 이유로 컨테이너가 죽을 수 있고, 수 많은 컨테이너와 그 이미지를 직접 관리하는 것은 비효율적이고 오류가 발생하기 쉽습니다. AWS에서는 컨테이너 서비스를 위해 다양한 서비스를 제공하고 있습니다. 컨테이너 관리 (ECS, EKS) 배포, 스케줄링, 컨테이너화 된 어플리케이션 스케일링 관리 호스팅 (EC2, Fargate) 컨테이너가 동작하는 환경 이미지 레지스트리 (ECR) Priva.. 2021. 4. 7. TDD.. 테스트 코드는 습관이에요! 인터넷에 테스트 코드의 장점을 검색해보면, 안정성을 높인다. side-effect를 줄인다. 마음의 평화가 찾아온다. 등 생산성을 매우 높여준다고 합니다. 하지만 저도 아아 그렇구나 테스트 코드는 좋은거구나.. 하고 신나게 개발만 했습니다. 물론 테스트 했죠. 디버깅하면서 전체 시나리오 테스트를요... 그런데 생각해봅시다. 우리는 소프트웨어라는 제품을 만들고 있는데, 제품을 만들 때 테스트를 안한 부품을 믿고 사용 할 수 있을까요? TDD를 공부하면 만나는 키워드가 있습니다. 그건 바로 F.I.R.S.T인데, F.I.R.S.T 원칙을 지키면서 단위테스트를 작성하면 좋은 테스트를 만들 수 있다고 합니다. 프로그래밍 패러다임은 이런 단어로 뜻 만드는 걸 좋아하는거같아요. SOLID라던가.. ACID라던가.... 2021. 4. 2. 이전 1 2 3 다음