외부, 다른 도메인의 API를 통해 데이터를 제공받기 위해 사용할 수 있는 인터페이스를 조사해보았다. RestTemplate? Spring에서 제공하는 HTTP API 호출 시 사용할 수 있는 인터페이스이다. 멀티스레드 환경에서 안전하며 여러 기능을 지원한다. 내부적으로 하나의 요청에 하나의 쓰레드를 생성하여 동작시키는 Java Servlet API를 사용한다. 이는 각각 스레드가 일정량의 메모리와 CPU주기를 사용하고, 응답을 받을 때까지 스레드가 차단되는 동기화 모델이다. 비동기 방식의 동작을 제공하는 AsysncRestTemplate 도 있지만, WebClient 라는 인터페이스가 생겨남으로써 최적화된, 최신의 기술을 제공하기에 필요성을 잃어 deprecated 되었고, RestTemplate 은 ..
Open API Specfication 3? OAS는 RESTful API에 대한 정보들을 정의하여 소스 코드에 접근하지 않아도 서비스의 기능을 검색, 확인하고 사용할 수 있게끔 지원해주는 표준 인터페이스이다. OAS 3는 2017년 7월에 발표된 spec이며, 많은 개선이 이루어졌다고 한다. 해당 spec은 JSON, YAML을 통하여 작성할 수 있다. documentation generation tools를 사용하여서 해당 API의 기능, 테스트 코드 등을 사용자(클라이언트 개발자) 입장에서 쉽게 알 수 있게 해 준다. 스프링에서 사용할 수 있는 OAS 라이브러리 Spring fox : OAS 2를 지원하는 라이브러리이다. Springdoc-openapi v1.5.1 : OAS 3을 지원하는 라이브러..
H2의 Local, Server 개념 Embedded 모드 H2 DB를 시스템의 메인 메모리에서 (JVM 위에서) 구동시키는 방식으로 application이 종료된다면 저장, 수정된 Data가 손실(휘발) 된다. 즉 기본적으로는 영속적이지 않은 방식이다. → 데이터에 대한 영속성을 제공하는 방법은 존재한다. 메인 메모리에 DB를 띄워놓고 해당 DB를 사용하는 Application의 스레드로 데이터에 바로 접근함으로써 데이터 읽기, 쓰기에 대한 성능을 향상할 수 있으므로 유용하게 사용할 수 있으며, 데이터 캐싱 DB에 대해서도 H2를 고려할 수 있다고 한다. 하지만 JVM에서 데이터 연산에 사용되는 쓰레드를 인터럽트 하지 않을 수 있기에, IO 수행 시에 I/O Handler가 닫힘으로써 데이터베이스의 손..
- Total
- Today
- Yesterday
- Switch
- Cache Design
- lambda
- configuration
- RPC
- HTTP
- hypermedia
- Global Cache
- JVM
- mybatis
- 근황
- Data Locality
- URN
- JPA
- rabbitmq
- THP
- spring
- URI
- 소비자 관점의 api 설계 패턴과 사례 훑어보기
- AMQP
- cglib
- spring AOP
- 게으른개발자컨퍼런스
- java
- Local Cache
- Url
- RESTful
- JDK Dynamic Proxy
- 게으른 개발자 컨퍼런스
- Distributed Cache
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |