일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- iBatis
- generic
- spring cloud
- $
- oracle
- parallelStream
- 바인딩
- 타입캐스트
- iBatis # $
- 하이스트릭스
- hystrix
- Multi Threading
- #
- circuit breaker
- 제네릭 리턴
- java
- 멀티스레드
- 제네릭
- RESTful API
- Type Cast
- mismatch
- bind mismatch
- $$
- Netflix Hystrix
- ForkJoinPool
- bindmismatch
- 자바 병렬스트림
- generic return
- ##
- binding
- Today
- Total
Milk's development review
MSA 서비스가 늘어나면서 개발자는 각 모듈간 장애 전파, 연쇄에 대한 처리에 좀 더 신중을 기울여야합니다. 오늘은 API Consumer입장에서 fail over관리를 효율적이고 일관되게 할 수 있도록 도와주는 Hystrix에 대해서 간단히 정리해보겠습니다. Hystrix란 이미 알고있는 분들도 계시겠지만, Hystrix는 Netflix에서 Circuit Breaker Pattern을 구현한 라이브러리 입니다. MSA에서 분산된 서비스간 통신이 원활하지 않은 경우에 각 서비스가 장애내성과 지연내성을 갖게하도록 도와줍니다. 사용해보기 - Supplier Supplier는 아래와 같이 단순한 String을 return해주는 API를 작성했습니다. - Consumer Hystrix는 스프링에서 스프링 친화적..
개발 중 다음과 같은 코드를 만났습니다. new ForkJoinPool(10).submit(() -> { integerList.parallelStream().forEach((integer) -> { ... parallelStream이 내부적으로 ForkJoinPool을 사용하는데 어째서 위와 같은 코드가 작성되었는지 의문이 들었습니다. 먼저 ForkJoinPool에 대해서 간단하게 정리해보겠습니다. 아래 내용은 java docs에서 발췌했습니다. An ExecutorService for running ForkJoinTasks. A ForkJoinPool provides the entry point for submissions from non-ForkJoinTask clients, as well as ma..
ibatis의 sql문에는 보통 변수처리를 해준다.그때 사용하는 binding 방법이 ##과 $$을 이용한 방법이다. 결론부터 말하자면 다음과 같다. 1. DB관점에서 ##은 소프트 파싱, $$은 하드파싱2. JDBC관점에서 ##은 파라미터 바인딩, $$은 문자열 replace 정도로 말할 수 있겠다. 한 가지 짚고 넘어가야 할게 ibatis의 모든 sql문은 preparedStatement로 수행된다.즉, ##이든 $$이든 preparedStatement로 sql문이 수행된다. 예를 들어 아래와 같은 쿼리가 있다고 하자. UPDATE test SET column1 = #var1# // var1은 String "aaa" , column2 = #var2# // var2는 String "bbb" WHERE ..