전체 글 (730) 썸네일형 리스트형 [Devops] Wrk 로 성능 테스트 해보기 Jmeter는 이미 충분히 좋은 시스템이다. 하지만, 로컬피씨에서 성능테스트를 할수는 없고, 로컬에서 Jmeter로 원격 서버를 쏴야 성능테스트가 정확하게 가능하다. 이에, 뭐가 없나? 하던 시점에 Wrk를 발견, 간단하게 도입 및 테스트 해보자 1) 설치 brew install wrk 2) 심플하게 사용 wrk -t20 -c200 -d60s http://localhost:8080/test3 -t20 : Thread 20개가 실행된다. -c200 HttpConnection 200개를 서버에 연결한다. -d60s : 60초 동안 진행 3) 실행결과 (base) yuseongjaeui-MacBookPro:~ ysj$ wrk -t20 -c200 -d60s http://localhost:8080/test3 Ru.. [Spring] Fegin 잘 쓰기 오늘은 Fegin에 대해서 잘 쓰는 법을 알아보자 우선 Fegin이 뭘까? Fegin -Netfilx에서 개발하나, Http client binder이다. -Fegin을 사용하면, 웹 서비스 클라이언트를 (외부 호출하는 앱을) 쉽게 작성할 수 있다. -인터페이스, 어노테이션만 하면 끝이다. 1) Gradle implementation 'org.springframework.cloud:spring-cloud-starter-openfeign' 2) Main class 추가 @SpringBootApplication @EnableFeignClients public class SmithStudyApplication { public static void main(String[] args) { SpringApplica.. [DDD] axon framework를 사용해보자 (5) 공식 문서를 참조해서, 정리했다. Event Bus, Event Store의 개념에 대해서 정리를 하고, 쿼리에 대한 개념을 정리해보자. 1) Event Store Event를 읽고 쓰는데 있어, EventStore가 기본적으로 갖출 조건이 있다. 1. 이벤트는 추가만 가능하다, 입력 삭제,수정이 불가능하다. 2. 여러 이벤트가 하나의 트랜잭션에서 처리가 되어야 한다면, 트랜잭션 단위로 커밋,롤백 되어야한다. 3. 커밋된 이벤트는 유실되어서는 안된다. 4. 발행된 모든 Event중 Aggregate별로 데이터를 읽을 수 있어야 한다. 5. 모든 이벤트는 삽입된 순서대로 읽기가 가능해야한다. 6. Snapshot 저장소 지원 이벤트 저장소에, Aggregate에 대한 ID와 시퀀스 번호가 있다. 그리고 해.. [DDD] Axon framework 를 사용해보자 (4) 일단 Query를 사용해봤다. 다음에는 Event를 사용해보자 마지막에 분석 및 기타 기능에 대해서 구현 및 포스팅을 할 것같다. 이번에는 생성에 대한 컨트롤러 단, 부터 생성을 해보자. 단순히 한개의 OrderCount를 늘린다. CQRS는 커맨드와 조회를 나눠, 조회와 데이터 변경에 대한 관심사를 나눈다. 1) OrderController @RestController public class OrderController { @Autowired private CommandGateway commandGateway; @PostMapping("/order/{order-name}") public CompletableFuture incrementProduct( @PathVariable("order-name") S.. [DDD] Axon framework 를 사용해보자 (3) 이제 어느정도 구현에 대한 감을 잡았다. 실제적으로 사용하기 위한 코드로, Service부터 따라가며 구현을 리팩토링 해보자 우선 서비스 부터 다시 만들어야 한다. 분석기반으로 소스를 하나씩 구현해보자, 단순히 메소드 하나만 우선 사용을 할 예정이다. 1) OrderQueryService @Service @RequiredArgsConstructor public class OrderQueryService { private final QueryGateway queryGateway; public CompletableFuture findAllOrders(){ return queryGateway.query(new FindAllOrderedProductsQuery(), ResponseTypes.multipleIns.. [DDD] Axon framework 를 사용해보자 (2) 간단하게, 음식과 관련된 애플리케이션을 만들어보자, 일단 구조는 기본적으로 잡아보자. Command,coreapi,query 단순히 이렇게 3가지 패키지만 만들어보자 기능은 뭐 단순히 신규 주문생성, 주문 확정,주문 배송 이렇게 두면 될 듯하다. 일단 생성한 커맨드는 아래 3개와 같다. 1) Commands @RequiredArgsConstructor public class ConfirmOrderCommand { @TargetAggregateIdentifier private final String orderId; } @RequiredArgsConstructor @Getter @ToString public class CreateOrderCommand { @TargetAggregateIdentifier pr.. 인텔리제이 Process finished with non-zero exit value 1 오류 오류 발생 > Process 'command '/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1 해결방법 1. File > Settings > Build Tools > Gradle Gradle 인텔리제이 IDEA 로 변경 이렇게 하면 해결이 된다. [Docker] docker login 동작 방식 docker login을 하게 되면, 해당 관련되서 인증정보를 저장하고 체크하고 뭐 등등 사실, 최근에 동료에게 사설 repo 로그인 후 이미지를 풀받아야된다고 가이드 하는도중 비번을 잊어버려서, 혹시나 하고 될까? 했던 방식이 되서 기록용으로 남긴다. 대부분 .docker/config.json 파일에 docker login하면 auth 정보가 담기게된다. docker login을 하게되면 도커 데몬이 이 값을 가지고 로그인을 시도를 자동으로 해주기 때문에 한번 로그인한 repo에 대해서는 다시 정보를 넣지 않아도된다. 그래서, config.json 하위 auth내 내용을 vi편집기로 추가를 해주고 docker daemon을 재시동 해주면 해당 auth에 대한 내용을 데몬이 가지고 있게 되고, docke.. 이전 1 ··· 23 24 25 26 27 28 29 ··· 92 다음