얼마 전에 Knavtive 에 Spring이 협업하고 있다는 소식을 전해드린 적이 있습니다.
그동안 Google의 GCE 서비스와 GCP의 Google Cloud SQL 서비스, Firebase 등을 이용하면서 Spring이 Google 서비스와의 Integration Project를 진행해주면 좋겠다는 아쉬움이 컸었는데요.
이번에 Spring Cloud Project에서 Google Cloud 팀과 협업을 진행해 Spring Cloud GCP를 정식 Release 했다는 반가운 소식을 접하게 되었습니다.
Spring에서 발표한 정식 Release 소식은 여기서 확인이 가능하고, 전반적인 Project 내용은 여기서 확인 가능합니다.
언제나 그렇듯이 통합되는 내용을 아주 간단하게 정리하면 다음과 같습니다.
그동안 Google의 GCE 서비스와 GCP의 Google Cloud SQL 서비스, Firebase 등을 이용하면서 Spring이 Google 서비스와의 Integration Project를 진행해주면 좋겠다는 아쉬움이 컸었는데요.
이번에 Spring Cloud Project에서 Google Cloud 팀과 협업을 진행해 Spring Cloud GCP를 정식 Release 했다는 반가운 소식을 접하게 되었습니다.
Spring에서 발표한 정식 Release 소식은 여기서 확인이 가능하고, 전반적인 Project 내용은 여기서 확인 가능합니다.
언제나 그렇듯이 통합되는 내용을 아주 간단하게 정리하면 다음과 같습니다.
Messaging
모든 Spring Messaging 지원은 spring-cloud-gcp-pubsub 및 spring-cloud-gcp-pubsub-stream-binder 모듈과 Spring Integration 및 Spring Cloud Stream을 기반으로 한다네요. 여기에는 Google Cloud Pub/Sub 기반의 PubSubTemplate이 있고, PubSubTemplate 기반으로 작업된 PubSubInboundChannelAdapter와 PubSubMessageHandler가 Spring Integration Channel Adapters의 역할을 하게 됩니다. 그리고, 이번 릴리즈에는 메시지 변환을 위한 PubSubMessageConverter와 헤더 맵핑을 위한 PubSubHeaderMapper도 포함되어있다고 합니다.
Spring Boot도 당연히 지원되는데 spring-cloud-gcp-autoconfigure 모듈을 이용해서 PubSubMessageChannelBinder를 통한 Spring Cloud Stream Integration 바인딩을 제공한다고 하네요.
Database
Google Cloud SQL에 대한 설정 역시 spring-cloud-gcp-autoconfigure 모듈을 이용해서 설정이 가능해졌는데요. 물론 당연히 다른 모든 것은 일반적인 JDBC 사용과 다르지 않겠죠. 이를 위해서 spring-cloud-gcp-starter-sql-mysql과 spring-cloud-gcp-starter-sql-postgresql 모듈이 제공된다고 하네요. 참고로 GCP의 Cloud SQL은 MySQL과 PostgreSQL 두 가지를 제공하고 있습니다.
File Storage
Spring Cloud Storage와의 통합을 위해서는 GoogleStorageProtocolResolver가 담당하나 봅니다. 추가로 GcsInboundFileSynchronizingMessageSource, GcsStreamingMessageSource, GcsMessageHandler 가 제공된답니다. Spring Cloud Storage는 아직 사용을 안 하는데, 요즘 저장공간에 대한 고민이 있어서 한번 알아봐야겠네요.
Logging and Trace
개인적으로는 가장 반가운 부분입니다. Google Cloud의 Stackdriver Logging과의 통합을 제공하나 봅니다. 역시 Spring Boot의 autoconfigure를 이용할 수 있고요. 이를 위한 logback-appender.xml, logback-json-appender.xml 을 제공합니다. spring-cloud-gcp-starter-logging을 통해 이 모든 것이 제공된다니 참 반갑네요. 게다가 spring-cloud-gcp-starter-trace 를 이용하면 Google Cloud Stackdriver Trace까지 통합할 수 있다고 하니 Logging 관련 걱정이 한방에 해결되지 않을까 하는 기대감를 하게 하네요.
소개된 대략적인 통합내용은 지금까지와 같습니다.
공식 프로젝트 페이지 등을 포함한 관련 링크는 아래를 참고해주세요.
공식 프로젝트 페이지 : http://cloud.spring.io/spring-cloud-gcp/
GitHub Project 페이지 : https://github.com/spring-cloud/spring-cloud-gcp/
댓글
댓글 쓰기