반응형

spring 5

[Cert manager] SpringBoot(tomcat) HTTPS 적용하기

🤔 주의 해당 포스팅은 단순히 Spring Boot에 HTTPS를 적용하는 것을 목적으로 하는 포스팅이 아닌 cert manager를 이해하고 kubernetes에서 https 적용을 자동화하는 것을 목적으로 합니다. 아직 cert manager에 대해 제대로 이해하고 있지 않다면 이전 글을 참고해주시기 바랍니다. 해당 포스팅에선 이전 글의 내용을 모두 이해하고 있다는 전제하에 포스팅을 진행합니다. 이번에는 cert-manager를 이용해서 tomcat 통신을 암호화 해보도록 하겠습니다. "이전에 MySQL을 암호화하는 것처럼 쉽게 secret 파일 적용하면 되는 거 아냐?!"라고 생각하실 수도 있지만, 이전과 조금 다른 부분이 있습니다. 이전에 사용했던 Certificate yaml 파일(아래의 코드)..

DevOps/Cert manager 2021.02.06

[Spring] Reactive Spring WebFlux: Tomcat과 Netty

Spring MVC는 기본적으로 블럭킹이고 동기방식을 사용합니다. 비동기 처리 기능이 스프링 프레임워크 3에서 추가되어 지원된다고 하지만, 서블릿은 응답을 기다리는 동안 pool의 스레드들은 여전히 지연시킬 수 있기 때문에 전체 stack이 reactive 해야 하는 요구를 충족시킬 수 없습니다. 이러한 요구사항에 맞추어 스프링 프레임워크5에 도입된 대안적인 모듈이 바로 WebFlux로써 웹 요청을 reactive 하게 다루는 데에 초점이 맞추어져 있습니다. 기존의 서블릿 기반의 Spring Boot는 Tomcat을 기반으로 동작합니다. 반면 Spring Boot WebFlux는 여러 가지를 고를 수 있는데 Default롤 Netty를 사용합니다. Netty를 사용하는 이유는 tomcat은 요청 당 하나..

[Spring] DI? IoC Container? Bean? 숲을 보는 게시물

스프링은 꽤나 진입장벽이 높은 프레임워크이다. 그 자체의 개념은 그리 어렵지 않으나 엔터프라이즈용으로 흔히 사용되는 프레임워크이다 모니, 굉장히 다양한 용어들이 있고, 숲이 아닌 나무를 보는 공부 방식은 자칫 모두를 이해하지 못하는 오류를 범할 수 있다. DI와 IoC Container도 그러하다. DI를 알기 위해선 Design Pattern이 무엇인지 알아야 하고, 왜 spring은 Singleton Pattern을 채택하고 있는지에 관한 연결된 부분들을 이해해야 한다. 이 포스티에서는 이러한 개념들을 자세히 다루지는 않을 것이다. 다만 숲을 보는 느낌으로 가볍게 읽어봐주었으면 한다. DI(Dependency Injection)와 IoC(Inversion of Control)는 스프링 공부를 하게 되..

[Database] ORM(Object-relational Mapping)이란?

ORM이란? ORM(Object-relational Mapping)이란 OOP 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법으로 쉽게 말해 객체로 관계형 데이터베이스를 관리하는 기술이다. 대부분의 개발 언어 platform마다 제공되고 있으며, 대표적으로 spring에는 JPA가, node의 sequalize, 또 Django에는 orm이 내장되어있다. 기존 SQL 방식의 문제점 기존의 SQL로 데이터베이스를 관리하던 때의 문제점은 계속되는 반복되는 코드의 문제점이 있었고, SQL을 확인하기 전까지는 Entity를 신뢰할 수 없다는 불편함이 있었다. 또한 SQL의 의존적인 개발을 피할 수 없고, 계층 분할의 어려움이 있었다. ORM을 사용 했을 때의 장점 객체 관계 매핑(Object-relatio..

[Spring] Spring Framework vs Spring Boot

spring이란? Spring이란 과거 EJB를 대체하는 framework로써 세상에 등장했다. Pivotal Software(스프링팀)은 Enterprise Framework 시대를 겨울(winter)로 정의하고 이제 봄(spring)이 왔다는 의미로 이름을 지었다. EJB에 비해서 많은 부분 발전했지만, spring 역시 "스프링은 설정이 반이다."라는 말이 있을 정도로 설정하는 것에 어려움이 많았다. 그럼에도 spring이 대표적인 java framework로 자리 잡게 된 것은 아래와 같은 강력한 장점을 지니고 있기 때문이었다. 경량 컨테이너 IoC(Invertion of Control: 제어 역행) Di(Dependency Injection: 의존성 주입) AOP(Aspect-Oriented P..

반응형