BackEnd
-
AspectJ와 Spring AOP의 차이점 & Java AgentBackEnd/스프링 2024. 12. 1. 20:07
AspectJ 의 동작 방식AspectJ는 두 가지 주요 방식으로 Weaving(바이트코드 수정)을 지원합니다.컴파일 타임 Weaving(CTW): 컴파일 시 바이트코드를 수정.로드 타임 Weaving(LTW): JVM이 클래스를 로드할 때 바이트코드를 수정.사용 예시 )영속성 객체인 DAO는 서비스에서 작업을 할 때, 즉 런타임에 는 동적으로 생성되는 POJO 객체이다.동적으로 생성되는 POJO 객체는 LTW 방식으로 AOP 를 적용할 수 있다. 스프링 AOP 와 AspectJ LTW 의 차이Spring AOP는 기본적으로 프록시 기반 AOP를 사용하므로 -javaagent 설정이 필요 없습니다.하지만 Spring에서 AspectJ를 사용하여 로드 타임 Weaving을 활성화하려는 경우, -javaag..
-
-
3. AWS의 인터넷 연결BackEnd/AWS 2024. 6. 26. 15:26
[ 목차 ]인터넷 연결을 위한 4가지 조건 1) 인터넷 게이트웨이최종적으로 인터넷 게이트웨이를 통함. 2) 네트워크 라우팅 테이블 정보 모든 네트워크 0.0.0.0/0 통신은 인터넷 게이트웨이로 전달하기 위해 경로를 지정 3) 공인 IPAWS 퍼블릭 IP 혹은 탄력적 IP. 프라이빗 IP 는 NAT 를 통해 공인 IP 로 변환. 4) 보안그룹과 네트워크 ACL외부 네트워크 통신 허용 필요. 인터넷 연결을 위한 3가지 방안 특징인터넷 게이트웨이NAT 디바이스(NAT 인스턴스/NAT 게이트웨이)Proxy 인스턴스동작Layer 3계층 (네트워크계층)Layer 4계층 (전송계층)Layer 7계층 (응용계층)주소변환private IP -> public IP1:1 변환IP 주소와 port 변환IP 주소와 port..
-
배치그룹BackEnd/AWS 2024. 6. 26. 14:52
[ 목차 ]배치그룹1. 분산 배치AWS 의 기본적인 인스턴스 배치는 분산배치 방식이다. 호스트 장애에 대해 상호 간 영향도를 최소화하고 장애를 줄이기 위해, 새 인스턴스가 시작될 때 하드웨어에 최대한 분산해서 배치한다.AZ 당 최대 7개 인스턴스로 제한된다. 워크 로드에 따라 배치 그룹 전략을 정할 수 있다.2. 클러스터 배치 그룹 애플리케이션 간 긴밀한 통신이 요구되고, 낮은 지연시간과 높은 네트워크 성능이 필요할 때,인스턴스 간 배치를 서로 근접하게 하는 방식이다.3. 파티션 배치 그룹 클러스터 전략과 분산 배치 전략을 섞은 것으로, 여러 AZ 안에 파티션을 두고 파티션 안에서 여러 인스턴스를 클러스터 전략처럼 배치할 수 있는 전략이다.AZ 당 파티션을 최대 7개까지 가질 수 있으며, 파티션 배치 그..
-
동시성 제어 syncronized와 @TransactionalBackEnd/스프링 2022. 9. 26. 14:51
서비스에 @Transactional 어노테이션만 붙이면 동시에 자원에 접근하는 스레드들에 레이스 컨디션이 발생했을 경우, 기대와 다르게 동작할 수 있다. @RequiredArgsConstructor @Service public class StockService { private final StockRepository stockRepository; @Transactional public void decrease(Long id, Long quantity){ Stock stock = stockRepository.findById(id).orElseThrow(); stock.decrease(quantity); stockRepository.saveAndFlush(stock); } } 1. 트랜잭션이 시작되는 메서드..
-
-
2. VPC 엔드포인트BackEnd/AWS 2022. 9. 19. 22:45
[ 목차 ]1. VPC Endpoints엔드포인트는 private network 를 통해 AWS 서비스에 연결되도록 한다. 향상된 보안성과 낮은 지연성을 갖고 AWS 서비스에 접근할 수 있다. 예를 들어 EC2 인스턴스가 S3, DB 에 접근할 때 VPC Endpoint Gateway 를 통해 접속할 수 있다. VPC Endpoint GateWay 와 VPC Endpoint Interface 가 있다. 엔드 포인트 : AWS 퍼블릭 서비스 대상에 대한 프라이빗 연결엔드포인트 서비스 : 사용자가 지정한 서비스 대상에 대한 프라이빗 연결엔드포인트 게이트웨이 엔드포인트aws 퍼블릭 서비스 중 s3, dynamo db 에 대한 연결인터페이스 엔드포인트위 대상 외 나머지 aws 퍼블릭 서비스에 대한 연결엔드포인..
-
4. 네트워크 연결 옵션(VPC Peering, VPN, Trasit Gateway, Route53 Resolver)BackEnd/AWS 2022. 9. 18. 19:48
[ 목차 ]1. VPC Peering 서로 다른 두 VPC 간 연결을 구성해 프라이빗 IP 주소를 통해 통신을 할 수 있는 기능 제공, VPC 피어링을 통해 동일 네트워크에 있는 것처럼 통신할 수 있다. 예) 2개의 가상 사설 클라우드가 있고, 이들은 2개의 다른 계정이나 2개의 다른 지역에 있는 경우 - 장점1) 고속 네트워크, 트래픽 암호화 및 비용 절감 발생되는 트래픽이 AWS 백본 네트워크를 경유해 고속의 통신응 할 수 있다.2) 리전 간 VPC 피어링 지원 중국 리전을 제외하고 리전 간 VPC vldjfld wldnjs 2) 타 계정간 VPC 피어링 지원리소스 중복 사용 최소화해 비용 절감 효과를 얻을 수 있다. - 제약1) 서로 다른 VPC CIDR(네트워크대역) 필요2) Trasit Rou..