Free Lines Arrow
본문 바로가기
728x90

전체 글350

[Spring] AOP 개념 AOP(Aspect Oriented Programming) 말그대로 관점 지향 프로그래밍이다. 관점 지향: 횡단 관심사의 분리를 허용하는 프로그램밍 횡단 관심사: 시스템의 수많은 다른 부분에 의존하거나 영향을 미쳐야 하는 프로그램의 일부분이다 간단하게 정리를 한다면 시스템의 수많은 부분에 의존하거나 영향을 미치는 프로그램을 분리 하는 것이다. AOP 예제 횡단 관심사 A, B, C 서비스가 있고 각 서비스는 서비스에 맞는 비즈니스 로직을 가지고 있다. 하지만 로그 찍는 로직이 동일하게 들어가 있다고 하자 로그를 찍는 print log 의 코드는 동일하다. pring log가 횡단 관심사가 되는 것이다. 그럼 AOP 맞게 구조를 바꿔 보자 횡단 관심사 분리 pring log 라는 기능을 따로 빼고 A, B.. 2023. 6. 15.
[Spring Security] Spring Security 란? Spring Security 애플리케이션들은 보안에 취약 하다 그렇기 때문에 보안을 강화할 기능 들이 필요하다. 스프링 시큐리티는 어플리 케이션 보안 전략을 위한 프레임 워크이다. 장점 스프링 시큐리티는 애플리케이션에 대한 합리적이고 간결한 기능을 제공해준다. 다른 프레임워크는 복잡 하지만 스프링 시큐리티는 쉽게 사용이 가능하다. 다양한 기업 인증 시스템들과 호환이 가능하다. 동작 방식 사용자 세부 정보서비스 기능 역할 UserDetailService 기본 자격 증명을 등록하는 역할 사용자 이름 : user 기본 암호. : UUID 암호 인코더 역할 PasswordEncoder 암호를 인코딩 한다. 암호가 기존 인코딩과 일치하는지 확인한다 2023. 5. 27.
[ClickHouse] 클릭하우스 클러스터 구축 클러스터 구축 클릭하우스를 이용하여 클러스터를 구축해보자. 클러스터란? 데이터베이스 클러스터링은 하나의 데이터 베이스를 두개 이상의 서버또는 인스턴들을 구성하는 것을 얘기한다. 클러스터의 메인 특징 Data redundancy - 데이터 이중화 Load balancing - 트래픽을 균등하게 나눠준다. High availability - 데이터 베이스가 사용가능한 시간 Monitoring and automation. - 모니터링 및 자동화 클릭하우스 클러스터 구축하기 (리플리케이션) 아래와 같이 클러스터를 구축할 예정이다. 두개의 서버 CH_NODE1 과 CH_NODE2에 샤드를 생성한다. 복제 용도 그리고 CH_CLUSTER 를 만들어 아래 두대의 서버를 하나로 관리해보자. 클릭하우스 클러스터 구축하기.. 2023. 5. 27.
Log 수집기능 개발하기 Log 수집기능 개발하기 로그 수집을 위한 기능을 구현할 것이다. 굳이 글로 적는 이유는 AOP 방식이 아닌 EventHandler 로 구현을 할 예정이기 때문이다. Log 수집기능 개발 구조 App 에서 카프카로 데이터를 보내주면 카프카에서 필요한 데이터 들을 다른 곳에서 sub 할수 있게 구현을 할것이다. Log 수집기능 고려사항 기존 서비스 응답시간에 영향을 미치면 안된다. 기존 코드 수정을 최소화 한다. 다양한 로그 형태를 수집 할 수 있어야 한다. 서비스 마다 retun 값이 다르다. 트랜잭션이 있는경우 트랜잭션을 유지 해야 한다. Log 수집기능 구현방식 선택 AOP, EventListener 둘중 하나를 고민했다. 메소드마다 트랜잭션, 리턴값이 다르다는것, 메소드 마다 파라미터 값이 다르.. 2023. 5. 27.
728x90
반응형