분류
-
K6/JMeter로 WebSocket 성능 테스트 해보기 (nginx 로드 밸런서)컴퓨터 2023. 12. 21. 01:08
소개: Spring Boot 프로젝트에 마이크로서비스로 쓰일 채팅 웹소켓 서버를 Rust 및 Spring Boot WebFlux 버전으로 만들고 K6 및 JMeter를 이용해 로드 테스트를 해볼 것이다. i5-10600KF (6코어 - 가상 12) CPU와 24GB 컴퓨터 로컬에서 테스트한 과정이다. n명의 유저 중 80%가 트위터 예전 기준 140 단어 기준 (약 1KB) 메시지를 전송한다. (Lorem ipsum) Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse porttitor quam vitae aliquet faucibus. In condimentum mi id accumsan ullamcorper. Fusce conva..
-
Spring Boot: Kotlin + Cassandra 에서 @CreatedDate null 해결컴퓨터/Spring Boot 2023. 12. 16. 17:40
코틀린 스프링 부트에서 Apache Cassandra/Scylla 데이터 베이스를 사용할 때 Auditing을 해도 @CreatedDate 어노테이션이 작동을 안 해서 null이다. @LastModifiedDate는 근데 작동을 잘한다. Main.kt @EnableScheduling @SpringBootApplication @EnableCassandraAuditing class KotlinTestApplication { // @PostConstruct // fun setTimeZone() { // TimeZone.setDefault(TimeZone.getTimeZone("Asia/Seoul")) // } companion object { @JvmStatic fun main(args: Array) { Se..
-
Spring Boot: Kotlin + ScyllaDB 도커 시작컴퓨터/Spring Boot 2023. 12. 14. 21:34
Datastax 드라이버로 Configuration을 만들고 간단한 도메인을 만들어서 저장하는 과정을 썼다. 풀소스는 아래 github에서 참고. GitHub - Alfex4936/spring-boot-kotlin-scylladb-demo: Spring Boot written in Kotlin with two scyllaDB nodes in Docker Spring Boot written in Kotlin with two scyllaDB nodes in Docker - GitHub - Alfex4936/spring-boot-kotlin-scylladb-demo: Spring Boot written in Kotlin with two scyllaDB nodes in Docker github.com DataS..
-
AWS EC2 가비아 HTTPS 도메인 503컴퓨터 2023. 12. 5. 10:19
아래 글을 참고해서 똑같이 만들어 주었다. (로드 밸런서, https 인증서) EC2 HTTPS로 연결하기 (1) - 도메인 구매하고 ACM 인증서 발급하기 > 1편) 도메인 구매하고 ACM 인증서 발급하기 도메인 인증 --> ACM 인증서 발급 --> Target Group 생성 --> Load Balancer 생성 --> 규칙 수정 --> Health check 성공) 2편) 로드 밸런서 사용하고 Health check 통과하기 ( woojin.tistory.com 그런데 배포하고 나니 503 에러가 떴다. 트래픽이 많을 때 뜬다는데 트래픽을 많이 보냈다는 것이 이상해서 찾아보니 가용 영역이 다르다. t3.medium을 사용하고 ap-northeast-2a, ap-northeast-2b 만을 썼더니 ..
-
Spring boot: Github Action CI에 JaCoCo + CodeCov컴퓨터/JAVA 2023. 12. 3. 18:32
할 것: Github Action을 이용하여 JaCoCo 테스트 커버리지 결과를 CodeCov 하는 과정 CI를 만들 것이다. 필요: Codecov - The Leading Code Coverage Solution Code coverage reporting solution for any test suite — Codecov gives developers actionable insights to deploy reliable code with confidence. about.codecov.io 위 사이트에 로그인해서 레포지토리를 선택한다. 그리고 CODECOV 토큰을 받아서 Github 설정 secret에 넣어준다. Github Action CI 최상위 폴더에서 java라는 폴더에 스프링 부트 프로젝트가 있..
-
Spring Boot: Mailsender HTML 보내기컴퓨터/HTML & JS & TS 2023. 11. 28. 17:32
templates에 있는 passcode.html을 사용하려고 아래처럼 thymeleaf 엔진 설정을 했다. spring: thymeleaf: cache: false prefix: classpath:/templates/ Bean 하나 만들어준다. 구글을 사용했다. @Configuration public class EmailConfig { @Value("${spring.mail.username}") private String FROM_ADDRESS; @Value("${spring.mail.password}") private String EMAIL_PASSWORD; @Bean public JavaMailSender javaMailService() { JavaMailSenderImpl javaMailSende..
-
Github Action 로컬에서 돌리기 (running GA locally)컴퓨터 2023. 11. 5. 19:02
Github Action을 만들고 업로드 전에 로컬에서 잘 작동하는지 확인하고 싶었다. act라는 툴이 Docker를 이용해서 로컬에서 GA를 돌릴 수 있게 해 준다. GitHub - nektos/act: Run your GitHub Actions locally 🚀 Run your GitHub Actions locally 🚀. Contribute to nektos/act development by creating an account on GitHub. github.com Docker를 설치했다면 로컬 github project에 .githhub/workflows/이름.yml 을 만들어준다. ${{ secrets.API_ADDRESS }} 처럼 비밀 값을 이용하기 위해 .env 파일을 만들어서 KEY=VA..
-
Spring boot: 실시간 로그 수집하기 (Logstash, ELK)컴퓨터/JAVA 2023. 10. 31. 21:38
Logstash Kibana를 제외하고 ELK를 셋업 할 것이다. ElasticSearch는 어딘가 실행되고 있다고 가정하고 Logstash를 Docker에서 돌려서 Spring Boot 로그를 수집할 것이다. Logstash 셋업 Logstash 도커 파일을 만든다. version: '3.8' services: logstash: container_name: logstash image: docker.elastic.co/logstash/logstash:8.10.4 ports: - "5044:5044" - "5000:5000/tcp" - "5000:5000/udp" - "9600:9600" volumes: - ./logstash/config:/usr/share/logstash/config - ./logsta..