목록분류 전체보기 (211)
And Brain said,
오늘은 Spring Cloud Config Server에 대해 알아보자. Config Server는 외부 환경 설정을 중앙 집중적으로 관리할 수 있도록 도와주는 역할을 한다. 예를 들어, 여러 대의 서버가 존재하는데 각각 서버별로 프로파일과 환경마다 설정이 다르다면 이를 중앙에서 관리해주지 않으면 설정 변경 시 모든 서버의 설정을 일일이 변경해주어야 하는 문제가 발생한다. 이런 이유로 환경 설정을 중앙에서 관리하고 필요한 서버에서 설정 정보를 가져와 사용하는 방식을 취하는것이 MSA의 Config Server이다. https://theworldaswillandidea.tistory.com/112 Kotlin, The Evolution of Java (+ MSA with Spring boot) 오늘은 현재..
최근 인프라와 아키텍처가 클라우드 네이티브 및 마이크로서비스로 가는 추세다보니 그에 맞춰 기업들도 복잡한 환경에서의 보안을 신경쓰게 될 수 밖에 없다. 오늘은 그런 보안 툴들 중 최근 자주 사용되고 있는 HashiCorp사의 Vault에 대해서 알아보고 간단한 환경 구성까지 해보자. Vault는 HashiCorp에서 개발한 오픈소스 암호화키 관리 도구로 Vault를 사용하면 애플리케이션 보안을 위해 중요한 정보인 패스워드, API 키 등을 안전하게 저장하고 관리할 수 있다. Vault는 다양한 기능을 제공하지만, 그 중 가장 중요한 기능은 데이터를 암호화하고 복호화하는 것이다. 애플리케이션 내부에 저장되어 있는 중요한 정보를 Vault를 통해 암호화하고, 필요할 때만 복호화하여 사용함으로써, 정보 유출 ..
오늘은 Spring Cloud의 Bus에 대해 알아보도록 하자. MSA는 다들 잘 알다시피 여러 개의 마이크로서비스가 각각 독립적으로 동작하고 서로 통신하여 기능을 제공하는데 이때, 마이크로서비스들 간에 변경 사항이 발생할 경우, 이를 다른 서비스들에게 전파해야 한다. 이를 위해 Spring Boot 애플리케이션에서 사용되는 버스 구현체가 Spring Cloud Bus다. Spring Cloud Bus는 AMQP(Advanced Message Queuing Protocol) 기반의 브로커 기반 메시징 시스템으로, RabbitMQ나 Apache Kafka를 이용하여 구현한다. 메시지 브로커에 대한 더 자세한 내용은 아래 포스팅을 참조 https://theworldaswillandidea.tistory.co..
오늘은 MSA의 서비스 간 비동기 통신을 위한 미들웨어인 RabbitMQ에 대해 알아보고 실습까지 진행해보자. MSA에서는 각각의 서비스들의 결합도를 낮추고 유연성을 높이기 위해 RabbitMQ, Kafka, Redis같은 메시지 브로커들을 사용한다. 메시지 브로커란 메시지 큐의 일종으로, 다수의 클라이언트 간에 메시지를 전달하고, 중개하는 역할을 한다. 만약, 한 서비스에서 다른 서비스로 데이터를 전송해야 하는 상황에서 직접적인 REST API 호출이 아닌 RabbitMQ를 통해 메시지를 전송할 경우, 발신 서비스는 메시지를 전송한 후에 바로 응답을 반환할 수 있으며, 수신 서비스는 해당 메시지를 수신하여 처리할 수 있다. 이를 통해 서비스 간의 결합도를 낮추고, 장애나 부하 발생 시에도 시스템 전체에..
오늘은 Oracle 사의 VirtualBox를 사용해보도록 하자. VirtualBox는 사용자들이 다양한 운영체제나 미들웨어 등을 가상 머신에서 자유롭게 원하는대로 실행할 수 있도록 해주는 오픈소스 가상머신 소프트웨어다. 자, 그럼 바로 이 VirtualBox의 세상으로 여행을 떠나보자. 각자의 환경에 맞춰 VirtualBox를 설치해준다. https://www.virtualbox.org/wiki/Downloads 설치된 VirtualBox를 실행하여 이런 화면이 나왔다면, 도구 -> 네트워크로 들어간다. Host-only Networks 만들기 NAT Networks 만들기 이러면 VirtualBox의 기초 네트워크 세팅은 끝났다. 이제 가상머신을 만들어보자. 다시 첫 화면에서, 새로만들기 우분투 이미..