마이크로서비스로 구축하는 경량 고성능 분산채팅...

18
마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼 Reactive Web/App 개발을 위한 가장 핫한 방법

Transcript of 마이크로서비스로 구축하는 경량 고성능 분산채팅...

Page 1: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼

Reactive Web/App 개발을 위한 가장 핫한 방법

Page 2: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

• The Reactive Manifesto • Reactive vs nonReactive • Microservices vs Monolithic Architecture • Microservices with MQ • Deployment/Management Microservices • Vert.x, eventBus, sockJs, Redis • Workshop1 - single Vert.x chat server • Workshop2 - cluster Vert.x chat server • Workshop3 - Distributed single Vert.x chat server • Q & A

Page 3: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

The Reactive Manifestohttp://www.reactivemanifesto.org/

Page 4: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x
Page 5: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

Reactive vs nonReactiveBenefits of Reactive

Page 6: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

Microservices vs Monolithic Architecture

Benefits of Microservices

Page 7: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

Microservices with MQ!!! WORKSHOP !!!

Page 8: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

Deployment/Management Microservices

Page 9: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

• Service instance per container

•Docker • Swarm

• Kubernetes

•DCOS - Docker/Marathon/Mesos • Amazon EC2 Container Service

https://dcos.io/

Page 10: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

Vert.x, eventBus, sockJs, Redis

Page 11: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

https://github.com/sockjs

http://vertx.io/

https://redis.io/

Page 12: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

Workshop1Single Vert.x chat server

Page 13: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

https://github.com/unlogicaldev/slime/tree/master/slime-microservice-chat

• slime-http : http web server & static resource • slime-sockjs : sockjs socket server

#>cd slime-http #>mvn clean package #>java -jar target/slime-http-0.0.1-SNAPSHOT-fat.jar

#>cd slime-sockjs #>mvn clean package #>java -jar target/slime-sockjs-0.0.1-SNAPSHOT-fat.jar

Page 14: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

Workshop2Cluster(HAZELCAST) Vert.x chat server

Page 15: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

• slime-http : http web server & static resource • slime-sockjs : sockjs socket server

#>cd slime-http #>mvn clean package #>java -jar target/slime-http-0.0.1-SNAPSHOT-fat.jar

#>cd slime-sockjs #>mvn clean package #>java -jar target/slime-sockjs-0.0.1-SNAPSHOT-fat.jar

Page 16: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

Workshop3Distributed Single Vert.x chat server

Page 17: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

• slime-http : http web server & static resource • slime-sockjs : sockjs socket server • slime-publish : message publish microservice

#>cd slime-http #>mvn clean package #>java -jar target/slime-http-0.0.1-SNAPSHOT-fat.jar

#>cd slime-publish #>mvn clean package #>java -jar target/slime-publish-0.0.1-SNAPSHOT-fat.jar

#>cd slime-sockjs #>mvn clean package #>java -jar target/slime-sockjs-0.0.1-SNAPSHOT-fat.jar

Page 18: 마이크로서비스로 구축하는 경량 고성능 분산채팅 플랫폼kcd2017.onoffmix.com/decks/w3.pdf · •Workshop1 - single Vert.x chat server •Workshop2 - cluster Vert.x

Q & Ahttps://github.com/unlogicaldev/slime/tree/master/slime-microservice-chat

https://github.com/sayseakleng/vertx-eventbus-chat

https://github.com/cescoffier/vertx-microservices-workshop

https://www.facebook.com/groups/jbossusergroup/[email protected] Rhys Lee