SlideShare une entreprise Scribd logo
1  sur  97
Télécharger pour lire hors ligne
실시간 서비스 플랫폼 설계
Node.js 기반의 분산 서버 환경 구축
김요한 (yohany@gmail.com)
기술은 공유되어야 하고,
서비스로 차별화 해야 한다.
김요한 GSSHOP architect
https://www.facebook.com/JohnKim0331
https://github.com/JohnKim
yohany@gmail.com
요즘 유행하는
실시간 서비스 개발하기 위해
분산 서버 구성하고
그리고 운영 하기
Service
 Platform
 ?
scalability
 ?
Monitoring
 ?
1. 실시간 서비스 플랫폼
우리는 왜 플랫폼으로 만들어야 하는가 ?
실시간 서비스 플랫폼
실시간 서비스 ?
https://www.flickr.com/photos/xrrr/1750232320/
FIDS (Flight Information Display System)
실시간 서비스 플랫폼
플랫폼 ?
https://flic.kr/p/ajvCwR
Volkswagen Group Platform
REAL-TIME SERVICE PLATFORM
Dashboards Mobile Notifications
Messengers
is ideal for building dashboards, activity streams, notification
and chat systems, backend-less apps and websites, real-time
collaboration, live statistics, remote controls, multiplayer games,
and more.
REAL-TIME SERVICE PLATFORM
https://www.hydna.com/
https://www.firebase.com/
Start with a Platform ,
and Then Use it for Everything.
2. 분산 서버 설계하기
확장성을 고려한 서버 아키텍처 설계
NodeJS
 +
 Socket.IO,
 NGINX,
 HAPROXY,
 ELB,
 Zookeeper,
 Redis
“무엇으로 만들 것인가 ? ”
가장 많이 사용하고 있는 socket.io
http://socket.io/get-started/chat/
“그런데, 아프리카 처럼 ? ”
서버 하나로는 부족하다!
SCALE UP  SCALE OUT
SCALE UP
Memory
CPU
SCALE OUT
“Scale Out 은,
처음부터 고려하지 않으면 힘들다”
“가장 흔한 방법 부터 적용하자.
하지만 socket.io 에 맞게 해야 한다 ”
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
?
가장 쉬운 방법
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
NGINX
HA PROXY
ELB
Elastic Load Balancing (AWS)
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
NGINX
HA PROXY
ELB
Elastic Load Balancing (AWS)
Websocket 을 지원하지 않는,
IE 에서 socket.io로 접속할 때
xhr-polling
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
NGINX
HA PROXY
ELB
Elastic Load Balancing (AWS)
같은 서버에 polling 해야만 함
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
NGINX
HA PROXY
ELB
Elastic Load Balancing (AWS)
같은 서버에 polling 해야만 함
CHAT SERVERX
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
NGINX
upstream io_nodes {

ip_hash;

server 127.0.0.1:6001;

server 127.0.0.1:6002;

server 127.0.0.1:6003;

server 127.0.0.1:6004;

}
Client 의 IP 를 해싱하여 분배
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
HA PROXY
backend io_nodes

balance source

server 127.0.0.1:6001 . . . .

server 127.0.0.1:6002 . . . .

server 127.0.0.1:6003 . . . .

server 127.0.0.1:6004 . . . .
Client 의 IP 를 해싱하여 분배 (v1.5 부터 SSL 지원)
X
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
ELBElastic Load Balancing (AWS)
X
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
ELBElastic Load Balancing (AWS)
CHAT S
CHAT S
CHAT S
CHAT S
CHAT S
ELBElastic Load Balancing (AWS)
TCP MODE
HA
PROXY
HA
PROXY
“역할 별로 분리 해서 확장하자”
좀더 고민해서,
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
메시지 송신 전용
(HTTP RESTful)
메시지 수신 전용
(socket)
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
HA PROXY
HA PROXY
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
HA PROXY
HA PROXY
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
HA PROXY
HA PROXY
REDIS
publish
subscribe
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
HA PROXY
HA PROXY
REDIS
publish
subscribe
Broker
(pub/sub server)
Publisher
Subscriber 1
Subscriber 2
Subscriber 3
redis rabbitMQ
REST S
REST S
CHAT
CHAT
CHAT
HA PROXY
HA PROXY
REST SERV
REST SERV
CHAT SERV
CHAT SERV
HA PROXY
HA PROXY
관리자가 메시지 발송 !!
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
OXY
OXY
REDIS
publish
subscribe
REST S
REST S
CHAT
CHAT
CHAT
HA PROXY
HA PROXY
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
메시지 송신 전용
(HTTP RESTful)
메시지 수신 전용
(socket)
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT 서버 할당

접속 인증
(HTTP RESTful)
CHAT 메시지 송/수신 전용
(socket)
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT 서버 할당

접속 인증
(HTTP RESTful)
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
HA PROXY
123.0.0.2:9002
123.0.0.1:9001
123.0.0.2:9002
123.0.0.3:9004
어느 서버에
접속해?
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
HA PROXY
123.0.0.2:9002
123.0.0.1:9001
123.0.0.2:9002
123.0.0.3:9004
어느 서버에
접속해?
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
HA PROXY
123.0.0.2:9002
123.0.0.1:9001
123.0.0.2:9002
123.0.0.3:9004
어느 서버에
접속해?
REDIS
ABCDEFG01234인증 토큰
ABCDEFG01234
SET 토큰
GET 토큰
”
“인증 처리 !
OAuth 2.0 로 별도의 서버로 구축한다
”
“인증 처리 !
OAuth 2.0 로 별도의 서버로 구축한다
“인증 처리 !
OAuth 2.0 로 별도의 서버로 구축한다 ”
SPRING SECURITY OAUTH 2
“접속할 서버를 할당하려면 ? ”
먼저, 서버 목록을 가지고 있어야 한다.
REST SERVER
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
123.0.0.1:9001
123.0.0.2:9002
123.0.0.3:9004
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
123.0.0.1:9001
123.0.0.2:9002
123.0.0.3:9004
서버 목록을 모두 가지고 있어야 함.
장애난 서버와 신규 추가된 서버 정보도 동기화 되어야 함
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
123.0.0.1:9001
123.0.0.2:9002
123.0.0.3:9004
zookeeper
watching node
변경된 노드 정보 동기화
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
123.0.0.1:9001
123.0.0.2:9002
123.0.0.3:9004
zookeeper
watching node
변경된 노드 정보 동기화
create EPHEMERAL node
임시 노드로 서버 정보 생성
The King of Coordination
apache zookeeper
- DISTRIBUTED LOCKING
- SERVICE MANAGEMENT
(LOAD BALANCER, DNS . . .)
REST SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
123.0.0.1:9001
123.0.0.2:9002
123.0.0.3:9004
zookeeper
watching node
변경된 노드 정보 동기화
create EPHEMERAL node
임시 노드로 서버 정보 생성
“서버는 어떻게 할당해 주는가?”
같은 채팅방 사람들은 같은 서버에 접속하도록.
같은 채팅방 사람들은 같은 서버에 접속하도록.
Client 의 IP 를 해싱하여 분배
체팅방 키를 해싱하여 분배
NGINX 의 ip_hash
HAPROXY 의 balance source
CONSISTENT HASHING
https://github.com/3rd-Eden/node-hashring
var	
  HashRing	
  =	
  require('hashring');	
  
var	
  ring	
  =	
  new	
  HashRing([	
  
	
  	
  	
  	
  '127.0.0.1',	
  
	
  	
  	
  	
  '127.0.0.2',	
  
	
  	
  	
  	
  '127.0.0.3',	
  	
  
	
  	
  	
  	
  '127.0.0.4'	
  
	
  	
  ]);	
  
ring.get('채팅방키’);	
  //	
  접속	
  서버	
  반환	
  
Weighted CONSISTENT HASHING
https://github.com/3rd-Eden/node-hashring
var	
  HashRing	
  =	
  require('hashring');	
  
var	
  ring	
  =	
  new	
  HashRing({	
  
	
  	
  	
  	
  '127.0.0.1':	
  {	
  weight:	
  200	
  },	
  
	
  	
  	
  	
  '127.0.0.2':	
  {	
  weight:	
  200	
  },	
  
	
  	
  	
  	
  '127.0.0.3':	
  {	
  weight:	
  200	
  },	
  	
  
	
  	
  	
  	
  '127.0.0.4':	
  {	
  weight:	
  1000	
  }	
  
	
  	
  });	
  
ring.get('채팅방키’);	
  //	
  접속	
  서버	
  반환	
  
3. 운영하기
서버 실행 및 모니터링하기
uptime,
 PM2,
 influxDB,
 grafana
https://github.com/foreverjs/forever
A simple CLI tool for ensuring that a given
script runs continuously (i.e. forever).
$ npm install forever -g
$ forever start server.js
https://github.com/Unitech/pm2
PM2 is a production process manager for Node.js
applications with a built-in load balancer .
It allows you to keep applications alive forever ,
to reload them without downtime and to facilitate
common system admin tasks.
$ npm install pm2 -g
$ pm2 start server.js
$ pm2 reload all
$ pm2 startup
-i 0
$ pm2 start server.js -i 0
node process 1
node process 2
node process 3
node process 4
load balancer
cluster mode
$ pm2 reload all
Grafana is a frontend for Graphite, InfluxDB and OpenTSDB
with powerfull visualization features for time series data
InfluxDB
distributed, time series database
with no external dependencies
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
admin
Log Collector
InfluxDB
NGINX +
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
admin
Log Collector
InfluxDB
NGINX
Socket.IO
(separated namespace for monitoring)
{
pid : process.pid,
arch : process.arch,
platform : process.platform,
uptime : process.uptime(),
memory : process.memoryUsage(),
// 그 외
// 서버에 연결된 Client 수
// 체팅방 수 등
}
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
admin
Log Collector
InfluxDB
NGINX
Influx.writePoint()
Socket.IO-client
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
CHAT SERVER
admin
Log Collector
InfluxDB
NGINX +
//	
  nginx	
  설정	
  
auth_basic	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Restricted;	
  
auth_basic_user_file	
  	
  /path/to/my/htpasswd/file;

Contenu connexe

Tendances

백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
NAVER D2
 

Tendances (20)

Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
카카오에서의 Trove 운영사례
카카오에서의 Trove 운영사례카카오에서의 Trove 운영사례
카카오에서의 Trove 운영사례
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
 
Docker
DockerDocker
Docker
 
Using ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixivUsing ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixiv
 
Apache ZooKeeper
Apache ZooKeeperApache ZooKeeper
Apache ZooKeeper
 
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
LUA를 이용한 스마트한 웹서버 만들기 (Ray. Lee)
 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
 
[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요
[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요
[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요
 
[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성
 
[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기[2018] MySQL 이중화 진화기
[2018] MySQL 이중화 진화기
 
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
Performance Tuning EC2 Instances
Performance Tuning EC2 InstancesPerformance Tuning EC2 Instances
Performance Tuning EC2 Instances
 
MySQL_MariaDB로의_전환_기술요소-202212.pptx
MySQL_MariaDB로의_전환_기술요소-202212.pptxMySQL_MariaDB로의_전환_기술요소-202212.pptx
MySQL_MariaDB로의_전환_기술요소-202212.pptx
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
 

En vedette

Skate online presentation_lawrence
Skate online presentation_lawrenceSkate online presentation_lawrence
Skate online presentation_lawrence
Elena Zavelev
 
Tipos y beneficios de las herramientas web 2.0 en la gerencia educativa
Tipos y beneficios de las herramientas web 2.0 en la gerencia educativaTipos y beneficios de las herramientas web 2.0 en la gerencia educativa
Tipos y beneficios de las herramientas web 2.0 en la gerencia educativa
Karina Rodriguez
 
Skates seminar 2 michael plummer
Skates seminar 2 michael plummerSkates seminar 2 michael plummer
Skates seminar 2 michael plummer
Elena Zavelev
 
Presentation for media
Presentation for mediaPresentation for media
Presentation for media
Toddcg12
 
Marketing upulsa mubu
Marketing upulsa mubuMarketing upulsa mubu
Marketing upulsa mubu
megaanto
 
Symptoms Of Ovarian Cyst
Symptoms Of Ovarian CystSymptoms Of Ovarian Cyst
Symptoms Of Ovarian Cyst
brihanylam
 
조승원 재무컨설팅
조승원 재무컨설팅조승원 재무컨설팅
조승원 재무컨설팅
승원 조
 
Best Cellulite Removal
Best Cellulite RemovalBest Cellulite Removal
Best Cellulite Removal
maycockmc
 
Girls Looking For Men
Girls Looking For MenGirls Looking For Men
Girls Looking For Men
brihanylam
 
Power de planos
Power de planosPower de planos
Power de planos
Nor2012
 

En vedette (20)

2015 AWS IoT HACK DAY
2015 AWS IoT HACK DAY2015 AWS IoT HACK DAY
2015 AWS IoT HACK DAY
 
Nginx basic configurations
Nginx basic configurationsNginx basic configurations
Nginx basic configurations
 
7가지 동시성 모델 람다아키텍처
7가지 동시성 모델  람다아키텍처7가지 동시성 모델  람다아키텍처
7가지 동시성 모델 람다아키텍처
 
Skate online presentation_lawrence
Skate online presentation_lawrenceSkate online presentation_lawrence
Skate online presentation_lawrence
 
Final Thriller Idea
Final Thriller IdeaFinal Thriller Idea
Final Thriller Idea
 
Tipos y beneficios de las herramientas web 2.0 en la gerencia educativa
Tipos y beneficios de las herramientas web 2.0 en la gerencia educativaTipos y beneficios de las herramientas web 2.0 en la gerencia educativa
Tipos y beneficios de las herramientas web 2.0 en la gerencia educativa
 
Demons - Storyboard
Demons - StoryboardDemons - Storyboard
Demons - Storyboard
 
Skates seminar 2 michael plummer
Skates seminar 2 michael plummerSkates seminar 2 michael plummer
Skates seminar 2 michael plummer
 
Presentation for media
Presentation for mediaPresentation for media
Presentation for media
 
Marketing upulsa mubu
Marketing upulsa mubuMarketing upulsa mubu
Marketing upulsa mubu
 
Symptoms Of Ovarian Cyst
Symptoms Of Ovarian CystSymptoms Of Ovarian Cyst
Symptoms Of Ovarian Cyst
 
조승원 재무컨설팅
조승원 재무컨설팅조승원 재무컨설팅
조승원 재무컨설팅
 
Best Cellulite Removal
Best Cellulite RemovalBest Cellulite Removal
Best Cellulite Removal
 
Girls Looking For Men
Girls Looking For MenGirls Looking For Men
Girls Looking For Men
 
Power de planos
Power de planosPower de planos
Power de planos
 
Skates nov27
Skates nov27Skates nov27
Skates nov27
 
Ma.candelaria parés
Ma.candelaria parés Ma.candelaria parés
Ma.candelaria parés
 
Jonas Akerlund
Jonas AkerlundJonas Akerlund
Jonas Akerlund
 
Mofuse mobile web
Mofuse mobile webMofuse mobile web
Mofuse mobile web
 
Skates pp.11 13
Skates pp.11 13Skates pp.11 13
Skates pp.11 13
 

Similaire à 실시간 서비스 플랫폼 개발 사례

AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
PolarSeven Pty Ltd
 
Supporting Hyper-V 3.0 on Apache CloudStack
Supporting Hyper-V 3.0 on Apache CloudStackSupporting Hyper-V 3.0 on Apache CloudStack
Supporting Hyper-V 3.0 on Apache CloudStack
Donal Lafferty
 

Similaire à 실시간 서비스 플랫폼 개발 사례 (20)

Fluentd Plugins for CouchDB, Amazon SQS/SNS
Fluentd Plugins for CouchDB, Amazon SQS/SNSFluentd Plugins for CouchDB, Amazon SQS/SNS
Fluentd Plugins for CouchDB, Amazon SQS/SNS
 
How To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - SlidesHow To Set Up SQL Load Balancing with HAProxy - Slides
How To Set Up SQL Load Balancing with HAProxy - Slides
 
tdc2012
tdc2012tdc2012
tdc2012
 
VMware Validated Design
VMware Validated DesignVMware Validated Design
VMware Validated Design
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Host, deploy & scale Blazor Server Apps
Host, deploy & scale Blazor Server AppsHost, deploy & scale Blazor Server Apps
Host, deploy & scale Blazor Server Apps
 
How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...
How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...
How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...
 
PLNOG 17 - Tomasz Stachlewski - Infrastruktura sieciowa w chmurze AWS
PLNOG 17 - Tomasz Stachlewski - Infrastruktura sieciowa w chmurze AWSPLNOG 17 - Tomasz Stachlewski - Infrastruktura sieciowa w chmurze AWS
PLNOG 17 - Tomasz Stachlewski - Infrastruktura sieciowa w chmurze AWS
 
vmware_ports.pdf
vmware_ports.pdfvmware_ports.pdf
vmware_ports.pdf
 
Load Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - SlidesLoad Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - Slides
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
 
Running and Scaling Magento on AWS
Running and Scaling Magento on AWSRunning and Scaling Magento on AWS
Running and Scaling Magento on AWS
 
Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sina
 
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
 
How to create a multi tenancy for an interactive data analysis
How to create a multi tenancy for an interactive data analysisHow to create a multi tenancy for an interactive data analysis
How to create a multi tenancy for an interactive data analysis
 
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
 
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
AWS CloudFormation Automation, TrafficScript, and Serverless architecture wit...
 
HP: Implementácia cloudu s HP
HP: Implementácia cloudu s HPHP: Implementácia cloudu s HP
HP: Implementácia cloudu s HP
 
Apache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless ComputingApache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless Computing
 
Supporting Hyper-V 3.0 on Apache CloudStack
Supporting Hyper-V 3.0 on Apache CloudStackSupporting Hyper-V 3.0 on Apache CloudStack
Supporting Hyper-V 3.0 on Apache CloudStack
 

Plus de John Kim

Plus de John Kim (8)

How to build Design System?
How to build Design System?How to build Design System?
How to build Design System?
 
Play node conference
Play node conferencePlay node conference
Play node conference
 
플랫폼이란 무엇인가 (IoT Platform)
플랫폼이란 무엇인가 (IoT Platform)플랫폼이란 무엇인가 (IoT Platform)
플랫폼이란 무엇인가 (IoT Platform)
 
채팅서버의 부하 분산 사례
채팅서버의 부하 분산 사례채팅서버의 부하 분산 사례
채팅서버의 부하 분산 사례
 
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
 
vert.x 소개 및 개발 실습
vert.x 소개 및 개발 실습vert.x 소개 및 개발 실습
vert.x 소개 및 개발 실습
 
vert.x 를 활용한 분산서버 개발하기
vert.x 를 활용한 분산서버 개발하기vert.x 를 활용한 분산서버 개발하기
vert.x 를 활용한 분산서버 개발하기
 
DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술
DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술
DEVIEW - 오픈소스를 활용한 분산아키텍처 구현기술
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

실시간 서비스 플랫폼 개발 사례