본문 바로가기

▶ Back-End114

Ramdom LocalTime 생성 원하는 시간의 Random LocalTime 생성 /** * getRandomTime * * @param LocalTime (LocalTime.of(0, 0, 0)) * @param LocalTime (LocalTime.of(0, 0, 0)) * @return LocalTime(HH:mm:ss) */ public LocalTime getRandomTime(LocalTime startTime, LocalTime endTime) { return LocalTime.ofSecondOfDay(ThreadLocalRandom.current().nextInt(startTime.toSecondOfDay(), endTime.toSecondOfDay())); } 2023. 9. 21.
Random LocalDate 생성 원하는 기간의 Random LocalDate 생성 /** * getRandomDate * * @param String(yyyyMMdd) * @param String(yyyyMMdd) * @return LocalDate(yyyy-MM-dd) */ public LocalDate getRandomDate(String startDate, String endDate) { LocalDate fromDate = LocalDate.of( Integer.parseInt(startDate.substring(0, 4)), Integer.parseInt(startDate.substring(4, 6)), Integer.parseInt(startDate.substring(6, 8))); LocalDate toDate = Loca.. 2023. 9. 21.
Docker Cluster(Swarm 모드)구성 방법 두 개의 HOST를 이용한 Docker Cluster 구성 *Docker Desktop(Windows 10)은 Docker Swarm을 지원하지 않는다.(단일 Cluster만 가능) *Ubuntu에서 진행 *자세한 설명 생략 !! Server 종료 시 Docker Swarm도 함께 종료 *A Host : Manager Node *B Host : Worker Node *Manager Node : Worker Node를 관리하기 위한 Docker Server(Worker Node 기능 포함) *Worker Node : 컨테이너가 생성되고 관리되는 Docker Server ① [ A/B Host ] Cluster 상태 확인 docker node ls ② [ A Host ] Manager Node 생성 dock.. 2023. 9. 18.
Linux Docker 설치 방법 *Ubuntu에서 진행 * OS 확인 : cat /etc/os-release *자세한 설명 생략 ① root 계정 전환 su - root ② apt 패키지 업데이트 apt-get update ③ 의존 패키지 설치 apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common *apt-transport-https : apt 전송을 HTTP 보안 프로토콜을 통해 액세스 되는 저장소의 사용을 허용 *ca-certificates : 인증서 검증을 위한 패키지 *curl : 명령어를 통해 URL 요청하는 패키지 *gnupg-agent : GNU 프라이버시 가드-암호화 패키지 *software-propert.. 2023. 9. 15.
SpringBoot + Cassandra 연동(Multi Node) Docker에 설치한 Cassandra(Multi Node)와 SpringBoot 연동 *spring-boot-starter-parent 2.3.10.RELEASE 기준 *Docker에 Application을 올리는 과정 *자세한 설명 생략 ▷ 이슈 사항 확인 !! 이슈 → Local Host에서 Multi Node를 연동할 때 Docker Network 문제 발생 *SpringBoot는 Docker Containerr IP로 노드에 연결 시도 *Single Host Multi Node(Docker Container) 환경에서 발생 *Error log [WARN ] : [s0|/172.19.0.3:9042] Error while opening new channel (ConnectionInitExcepti.. 2023. 8. 18.
Cassandra 기본 개념 Apache Cassandra의 기본 개념을 간단히 소개 *자세한 설명 생략 ▷ Cassandra 란? *현재 Facebook과 twitter 등 에서 사용 - Apache Cassandra는 대용량 데이터를 관리하기 위해 설계된 시스템으로 분산형 오픈소스 NoSQL Database ▷ Cassandra 특징 - CQL ( Cassandra Query Language ) *SQL과 유사한 Query Interface - 대용량 데이터가 여러 서버에 분산되고 분산된 데이터를 여러 서버에 복제 *Master less *Cluster 중단 없이 수평 확장/축소 가능 - 데이터 모델링은 query-driven 방식을 사용 *Cassandra 사용 시 가장 중요한 부분 *WHERE 조건은 Key 만 사용 가능 -.. 2023. 8. 10.
SpringBoot + Cassandra 연동(Single Node) Docker에 설치한 Cassandra(Single Node)와 SpringBoot 연동 *spring-boot-starter-parent 2.3.10.RELEASE 기준 *자세한 설명 생략 ▷ Project 전체 구조 *파일 이름으로 검색 가능 ▷ Coulmn Family Create *Cassandra 설치 방법 아래 관련 글 참고 *example을 위한 Table /** KEYSPACE 생성 */ -- CREATE KEYSPACE testDB WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor': 2}; -- → class : --→ SimpleStrategy : 단일 데이터 센터 --→ NetworkTopologyStrategy.. 2023. 8. 9.
Cassandra 설치 방법과 간단한 Node 분산 Test Docker를 이용해 Cassandra를 간단하게 설치할 수 있다. *단일 노드 / 다중 노드(Cluster) 설치방법 중 선택해서 사용 *단일 노드 설치방법을 진행했다면 모든 과정을 초기화하고 진행 *다중 노드(Cluster) 설치 방법은 단일 호스트에서 진행 *docker-compose를 사용해도 됨 *자세한 설명 생략 ▷ 바로이동 ① 다중 호스트에서 다중 노드 설치 방법 ② 단일 노드 설치 방법 ③ 다중 노드 설치 방법 ④ Node 분산 Test ▷ 다중 호스트에서 다중 노드 설치 방법 *Docker Cluster(Swarm 모드)구성 ▶ Node 1 💡docker run --name cassandra-node1 -v cassandra-node1:/var/lib/cassandra -p 9042:90.. 2023. 8. 8.
SLF4J 기본 사용 방법 spring-boot-starter 에는 SLF4J와 Logback이 기본으로 설정 돼있다. *자세한 설명 생략 ▷ SLF4J란? - Simple Logging Facade 4 Java - 다양한 Logging Framework를 하나의 방식으로 사용할 수 있는 방법을 제공 *Logging Framework : java.util.logging, logback, log4j - Spring Boot는 SLF4J + Logback을 사용 *Logback : SLF4J의 구현체이자 Logging Library(log4j보다 더 좋은 성능) ▷ 기본 사용 방법 *Spring boot에서 아래 2가지 방법 중 선택해서 사용 ① Logger객체 직접 생성 ② @Slf4j(Lombok) @Slf4j @SpringBoo.. 2023. 8. 7.
728x90
728x90