#25 order-service: sleuth + zipkin

This commit is contained in:
haerong22
2022-12-28 21:39:48 +09:00
parent 4e4631e359
commit d5d9b05102
3 changed files with 27 additions and 7 deletions

View File

@@ -31,6 +31,9 @@ dependencies {
implementation 'org.mariadb.jdbc:mariadb-java-client'
implementation 'org.springframework.cloud:spring-cloud-starter-sleuth'
implementation 'org.springframework.cloud:spring-cloud-starter-zipkin:2.2.3.RELEASE'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'

View File

@@ -8,6 +8,7 @@ import com.example.orderservice.service.OrderService;
import com.example.orderservice.vo.RequestOrder;
import com.example.orderservice.vo.ResponseOrder;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.modelmapper.ModelMapper;
import org.modelmapper.convention.MatchingStrategies;
import org.springframework.core.env.Environment;
@@ -20,6 +21,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@Slf4j
@RestController
@RequestMapping("/order-service")
@RequiredArgsConstructor
@@ -40,34 +42,42 @@ public class OrderController {
public ResponseEntity<ResponseOrder> createOrder(@PathVariable("userId") String userId,
@RequestBody RequestOrder requestOrder) {
log.info("Before add orders data");
OrderDto orderDto = mapper.map(requestOrder, OrderDto.class);
orderDto.setUserId(userId);
// jpa
// OrderDto createdOrder = orderService.createOrder(orderDto);
// ResponseOrder responseOrder = mapper.map(createdOrder, ResponseOrder.class);
OrderDto createdOrder = orderService.createOrder(orderDto);
ResponseOrder responseOrder = mapper.map(createdOrder, ResponseOrder.class);
// kafka
orderDto.setOrderId(UUID.randomUUID().toString());
orderDto.setTotalPrice(requestOrder.getQty() * requestOrder.getUnitPrice());
// orderDto.setOrderId(UUID.randomUUID().toString());
// orderDto.setTotalPrice(requestOrder.getQty() * requestOrder.getUnitPrice());
// send this order to the kafka
kafkaProducer.send("example-catalog-topic", orderDto);
orderProducer.send("orders", orderDto);
// kafkaProducer.send("example-catalog-topic", orderDto);
// orderProducer.send("orders", orderDto);
ResponseOrder responseOrder = mapper.map(orderDto, ResponseOrder.class);
// ResponseOrder responseOrder = mapper.map(orderDto, ResponseOrder.class);
log.info("After add orders data");
return ResponseEntity.status(HttpStatus.CREATED).body(responseOrder);
}
@GetMapping("/{userId}/orders")
public ResponseEntity<List<ResponseOrder>> getOrders(@PathVariable("userId") String userId) {
log.info("Before receive orders data");
List<OrderEntity> orders = orderService.getOrdersByUserId(userId);
List<ResponseOrder> result = new ArrayList<>();
orders.forEach(orderEntity -> result.add(mapper.map(orderEntity, ResponseOrder.class)));
log.info("After receive orders data");
return ResponseEntity.status(HttpStatus.OK).body(result);
}
}

View File

@@ -4,6 +4,13 @@ server:
spring:
application:
name: order-service
zipkin:
base-url: http://127.0.0.1:9411
sleuth:
sampler:
probability: 1.0
h2:
console:
enabled: true