본문 바로가기

전체 글93

[Linux] 포트/방화벽 확인 및 포트 열기 리눅스 포트/방화벽 확인 및 포트 열기 명령어 정리1. 포트 상태 확인netstat -option 1-1. 연결 상태 관련 옵션-a: 모든 소켓의 상태를 표시합니다. 기본적으로는 연결이 설정된 소켓만 표시되지만, 이 옵션을 사용하면 리스닝 중인 소켓도 포함하여 모두 표시됩니다.-t: TCP 연결만 표시합니다.-u: UDP 연결만 표시합니다.-w: Raw 소켓을 표시합니다.-x: UNIX 도메인 소켓을 표시합니다.1-2. 주소 표시 관련 옵션-n: 호스트 이름, 포트 번호, 프로토콜 등의 이름을 숫자로 표시합니다. DNS 조회 없이 IP 주소 및 포트 번호를 그대로 보여줍니다.-N: IP와 포트 번호의 심볼릭 네임을 보여줍니다.1-3. 리스닝 상태 관련 옵션-l: 현재 리스닝(대기) 중인 소켓만 표시합니다.. 2024. 8. 23.
트래픽이 증가할 때 고려해야 할 사항 1. 오토스케일링 (Auto Scaling)목적: 트래픽 증가 시 자동으로 서버 인스턴스를 추가하고, 트래픽 감소 시 자동으로 인스턴스를 줄여 비용을 절감합니다.방법:클라우드 서비스 사용: AWS Auto Scaling, Google Cloud Autoscaler, Azure Virtual Machine Scale Sets 등을 설정합니다.트리거 설정: CPU 사용량, 메모리 사용량, 네트워크 트래픽 등의 지표를 기반으로 인스턴스를 자동으로 조정합니다.  2. 콘텐츠 전송 네트워크 (CDN)목적: 전 세계에 분산된 서버 네트워크를 통해 정적 콘텐츠를 캐싱하고 제공하여 원래 서버의 부하를 줄입니다.방법:CDN 서비스 사용: Cloudflare, AWS CloudFront, Akamai, Fastly 등의 .. 2024. 5. 25.
Spring Scheduler와 Spring Quartz 차이 스케줄러러를 사용할 일이 있었는데 찾아 보니까 Spring에서 Spring Scheduler와 Spring Quartz라는 2가지 방식으로 제공됩니다. Spring Scheduler 제가 프로젝트에서 채택했던 방식입니다. 사용법이 쉽고 Spring Boot starter에서 지원하기 때문에 따로 의존성을 추가 하지 않고 어노테이션만 추가하면 사용할수 있습니다. ScheduledConfig.java @Configuration @EnableAsync @EnableScheduling public class ScheduledConfig implements SchedulingConfigurer { @Override public void configureTasks(ScheduledTaskRegistrar taskR.. 2024. 4. 13.
자바 synchronized synchronized? 자바에서 멀티쓰레드를 사용할 경우 무조건 한번쯤은 보게된다. 공유될 가능성이 존재하는 자원에 대해 동기화를 제어할 수 있게 해주는 키워드 입니다. 스레드가 해당 자원에 접근중이고 다른 스레드가 같은 자원에 접근 하려고 하는 경우 접근을 대기시키는 기능을 지원함 코드 예시 메서드에 synchrozied 사용한 경우 해당 메서드는 동시에 오직 하나의 스레드만 실행할 수 있습니다. public synchrozied void incrementCount() { this.count++; } 코드 블록에 synchrozied 사용한 경우 다음과 같이 this(인스턴스 자신을 참조하는) 객체나 특정 객체에 대한 블록에 synchronized 키워드를 붙이면, 해당 객체에 대한 모든 스레드의 접.. 2024. 3. 29.
도커 오케스트레이션 시스템 도커 오케스트레이션 정리 사용하는 이유?단순한 배포 및 관리: 도커 Swarm을 사용하면 여러 호스트에 걸쳐 컨테이너화된 응용 프로그램을 쉽게 배포하고 관리할 수 있습니다. Swarm은 컨테이너를 클러스터로 그룹화하여 전체 시스템을 단일한 시스템처럼 관리할 수 있도록 해줍니다.확장성: 도커 Swarm은 수평 확장성을 제공합니다. 필요에 따라 클러스터에 노드를 추가하여 응용 프로그램을 확장할 수 있습니다. 이는 응용 프로그램의 부하가 증가할 때 시스템을 확장하고 고가용성을 유지하는 데 도움이 됩니다.Docker 호환성: 도커 Swarm은 도커 엔진과 호환되므로 기존에 도커를 사용하고 있는 경우 비교적 쉽게 도커 Swarm으로 이전할 수 있습니다. 이는 도커 사용자들에게 추가적인 학습 비용을 줄여주고, 기존.. 2024. 3. 23.
Mockito와 BDDMockito 테스트 코드 작성중에 의문이 생겼습니다. mock 객체를 when().thenReturn()을 통해 사용하고, 어떤 부분에서는 given().willReturn()을 통해 사용하는 것이었다. import 문을 확인해보니 전자는 org.mockito.Mockito를 import하고 후자는 org.mockito.BDDMockito를 import한다. Mockito? spring은 객체간의 의존성을 관리해주는데 이 의존성은 테스트 코드 단위테스트를 작성할때 문제가 생긴다. 의존성을 가지는 다른 객체에 의해 테스트 결과가 영향을 받는다. 그래서 내가 원하는 동작만 하도록 하는것이 Mock 객체다. 이를 편하게 사용하도록 지원하는것이 Mockito 이다. 예제 소스 import org.junit.jupiter.a.. 2024. 3. 20.