Enviar búsqueda
Cargar
サーバーのおしごと
•
53 recomendaciones
•
14,298 vistas
Yugo Shimizu
Seguir
2014/2/8に行ったゲームサーバ勉強会でのスライドです。 サーバー構成図で登場するApplicationサーバーとDBについての基本的な事項と気をつける事について紹介しました。
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 68
Descargar ahora
Descargar para leer sin conexión
Recomendados
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Manabu Koga
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
devCAT Studio, NEXON
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
MinGeun Park
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
Brian Hong
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
강 민우
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
Hoyoung Choi
Recomendados
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Manabu Koga
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
devCAT Studio, NEXON
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
MinGeun Park
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
Brian Hong
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
강 민우
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
Hoyoung Choi
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
HTTPを理解する
HTTPを理解する
IIJ
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
Heungsub Lee
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
Amazon Web Services Korea
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
Seungmo Koo
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013
devCAT Studio, NEXON
라이브 서비스를 위한 게임 서버 구성
라이브 서비스를 위한 게임 서버 구성
Hyunjik Bae
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
Amazon Web Services Japan
【Unite Tokyo 2019】AWS for Unity Developers
【Unite Tokyo 2019】AWS for Unity Developers
UnityTechnologiesJapan002
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
Amazon Web Services Japan
게임 분산 서버 구조
게임 분산 서버 구조
Hyunjik Bae
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
gree_tech
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
アジャイルにモデリングは必要か
アジャイルにモデリングは必要か
Hiromasa Oka
Next-generation MMORPG service architecture
Next-generation MMORPG service architecture
Jongwon Kim
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
20191009 AWS Black Belt Online Seminar Amazon GameLift
20191009 AWS Black Belt Online Seminar Amazon GameLift
Amazon Web Services Japan
負荷がたかいいんだから~♪(仮)
負荷がたかいいんだから~♪(仮)
Yohei Hamada
Imprementation of realtime_networkgame
Imprementation of realtime_networkgame
Satoshi Yamafuji
Más contenido relacionado
La actualidad más candente
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
HTTPを理解する
HTTPを理解する
IIJ
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
Heungsub Lee
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
Amazon Web Services Korea
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
Seungmo Koo
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013
devCAT Studio, NEXON
라이브 서비스를 위한 게임 서버 구성
라이브 서비스를 위한 게임 서버 구성
Hyunjik Bae
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
Amazon Web Services Japan
【Unite Tokyo 2019】AWS for Unity Developers
【Unite Tokyo 2019】AWS for Unity Developers
UnityTechnologiesJapan002
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
Amazon Web Services Japan
게임 분산 서버 구조
게임 분산 서버 구조
Hyunjik Bae
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
gree_tech
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
アジャイルにモデリングは必要か
アジャイルにモデリングは必要か
Hiromasa Oka
Next-generation MMORPG service architecture
Next-generation MMORPG service architecture
Jongwon Kim
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
20191009 AWS Black Belt Online Seminar Amazon GameLift
20191009 AWS Black Belt Online Seminar Amazon GameLift
Amazon Web Services Japan
La actualidad más candente
(20)
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
HTTPを理解する
HTTPを理解する
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013
라이브 서비스를 위한 게임 서버 구성
라이브 서비스를 위한 게임 서버 구성
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
【Unite Tokyo 2019】AWS for Unity Developers
【Unite Tokyo 2019】AWS for Unity Developers
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
게임 분산 서버 구조
게임 분산 서버 구조
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
アジャイルにモデリングは必要か
アジャイルにモデリングは必要か
Next-generation MMORPG service architecture
Next-generation MMORPG service architecture
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
20191009 AWS Black Belt Online Seminar Amazon GameLift
20191009 AWS Black Belt Online Seminar Amazon GameLift
Destacado
負荷がたかいいんだから~♪(仮)
負荷がたかいいんだから~♪(仮)
Yohei Hamada
Imprementation of realtime_networkgame
Imprementation of realtime_networkgame
Satoshi Yamafuji
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
Satoshi Yamafuji
分割と整合性と戦う
分割と整合性と戦う
Yugo Shimizu
Fluentd and Embulk Game Server 4
Fluentd and Embulk Game Server 4
N Masahiro
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
Youichiro Miyake
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~
johgus johgus
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
光晶 上原
Destacado
(10)
負荷がたかいいんだから~♪(仮)
負荷がたかいいんだから~♪(仮)
Imprementation of realtime_networkgame
Imprementation of realtime_networkgame
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
MMOのサーバについて 剣と魔法のログレス ~いにしえの女神~ での実装例
分割と整合性と戦う
分割と整合性と戦う
Fluentd and Embulk Game Server 4
Fluentd and Embulk Game Server 4
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~
負荷対策しておもったことまとめ~JMeterでSocket.IOもいけるでよ~
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
Similar a サーバーのおしごと
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
hideyuki ikeda
SQLWorld★大阪#8
SQLWorld★大阪#8
Atsuo Yamasaki
勉強会資料①
勉強会資料①
真亮 坂口
Aiming のクラウド採用基準
Aiming のクラウド採用基準
Takahiro Hozumi
現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure
Keiichi Hashimoto
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Akihiro Kuwano
Rendr入門: サーバサイドで(も)動かす、Backbone.js
Rendr入門: サーバサイドで(も)動かす、Backbone.js
Masahiko Tachizono
Google App Engineとその影響(補足)
Google App Engineとその影響(補足)
なおき きしだ
2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdf
Naotaka Saito
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
Shota Umeda
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
SORACOM, INC
勉強会 Vol1 『ホスティングとは?』
勉強会 Vol1 『ホスティングとは?』
chimoto
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Kentaro Matsui
Linux学習ロードマップ
Linux学習ロードマップ
akihito_s
Db tech showcase2015
Db tech showcase2015
emin_press
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clusters
Hiroaki Kubota
Webプログラミング入門
Webプログラミング入門
Tsuyoshi Kiryu
Webプログラミング入門
Webプログラミング入門
SI TEAM
Amazon ec2とは何か?
Amazon ec2とは何か?
Shinya_131
Cockatoo
Cockatoo
Hiroaki Kubota
Similar a サーバーのおしごと
(20)
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
SQLWorld★大阪#8
SQLWorld★大阪#8
勉強会資料①
勉強会資料①
Aiming のクラウド採用基準
Aiming のクラウド採用基準
現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Rendr入門: サーバサイドで(も)動かす、Backbone.js
Rendr入門: サーバサイドで(も)動かす、Backbone.js
Google App Engineとその影響(補足)
Google App Engineとその影響(補足)
2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdf
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
勉強会 Vol1 『ホスティングとは?』
勉強会 Vol1 『ホスティングとは?』
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
Linux学習ロードマップ
Linux学習ロードマップ
Db tech showcase2015
Db tech showcase2015
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clusters
Webプログラミング入門
Webプログラミング入門
Webプログラミング入門
Webプログラミング入門
Amazon ec2とは何か?
Amazon ec2とは何か?
Cockatoo
Cockatoo
Último
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Último
(10)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
サーバーのおしごと
1.
サーバーのおしごと Webサービスにおけるサーバー構成とその目的
2.
自己紹介 清水 佑吾 @yamionp id:yamionp 株式会社
gumi 勤務 Python歴約2年 サーバーさわりはじめて約10年
3.
略歴 高校:CGIやホームページを作成して小遣い稼ぎ 卒業後:ISPでネットワーク&サーバー構築のバイト ちょっと前:PHPでウェブサービス開発 今:ソーシャルゲーム開発
4.
サーバーの話
5.
6.
使用言語・フレームワーク
7.
使用ミドルウェア
8.
最近のサーバー構成
9.
S3 ELB 今日話す範囲 Application EC2 MessageQueue Job EC2 ElasticCache RDS Horizontal Partitioning Database
10.
最小限構成
11.
Request Response DATA Service
12.
一番シンプルな形 問題は? サーバーが壊れるとデータが消える サービスも止まる 書き込み途中で壊れると中途半端な書き込みが残る
13.
アクセスが増えたら 今のサーバー1台では処理しきれない時
14.
負荷への対処 スケールアップ スペックの良いサーバーに変更して処理能力UP! スケールアウト 台数を増やして処理能力UP! 今日はこちらの話をします
15.
Request Response DATA Service
16.
A B C Service DATA DATA DATA
17.
単にサーバーを増やした 特定のサーバーに負荷が集中すると対処出来ない 全データを見るには個別にアクセスする必要がある 可用性、整合性の問題は解決していない
18.
データベース
19.
A B C Service DATA DATA DATA
20.
A B C Application SQL SQL DATA Service
21.
データの格納にRDBを使用した データの扱い方が統一される (リレーショナルモデル&SQL) どのApplicationサーバーでも同じデータを扱える ユーザーはどれか一台にアクセスすれば良い アクセス先はユーザーが決める
22.
ロードバランサー
23.
助けて! A 暇… B C 暇… Application DATA Service
24.
Elastic Load Balancing
25.
A B C Application SQL DATA Service
26.
Application A B C ELB LoadBalancer Service DATA
27.
ユーザーがアクセスする先を選ぶ必要が無くなった 特定のApplicationサーバーに負荷が集中しない => 台数さえ増やせば処理可能
28.
レプリケーション
29.
Application ELB DATA Service
30.
Application 書き込み 読み込み ELB Master Slave Service
31.
メリット 既存のロジックに大きな変更無しに導入可能 自動でデータが更新される 再起動しても消えない
32.
デメリット 分散可能なのは読み込みのみ 非同期の場合古いデータが最新のデータと限らない 同期の場合、Masterのパフォーマンスが悪化する
33.
KeyValueStore (KVS)
34.
KVSとは KeyとValueのペアでデータを管理するDB Memcache, DynamoDB, Riak,
Redis…etc それぞれ全て特徴・使い方・用途が違う KEY VALUE A_AGE 21 A_AGE 21
35.
Memcached
36.
Application ELB DATA Service
37.
Application GET ELB SELECT DATA Service
38.
特徴 オンメモリなので非常に高速 (RDBの十倍程度) シンプル
39.
注意点 キャッシュロジックをアプリケーションに実装が必要 更新時に削除を忘れると古いデータが返る キャッシュのデータをもとにRDBを更新してはならない TTL以前に消える可能性 キャッシュ間のサイズが大きく違うとメモリ効率悪化 永続化は出来ない(データはメモリ上にのみ存在)
40.
Redis
41.
特徴 インメモリ型KVS 永続化可能 レプリケーション可能 データ型 (LIST, SET,
SORTED SET, HASH) を持つ 複雑な操作をアトミックに実行可能
42.
LIST LPOP A B C D
43.
LIST RPUSH B C D E
44.
アトミックに実行とは
45.
原子性 コマンド結果が全て成功or全て失敗しかない事 操作の途中段階にならない。
46.
データベース分割
47.
Application 書き込み ELB 暇… 助けて! Master Slave Service
48.
書込み性能の限界
49.
垂直分割 ID 体力 やくそう ジョブ Player A 100 2 戦士 Player B 98 8 格闘家 Player
C 20 0 魔法使い Player D 0 10 僧侶 DB 1 DB 2 DB 3
50.
Application ELB アイテム カード Service
51.
メリット 分割しても集計が容易 ユニーク制約が維持される
52.
デメリット アイテムに負荷が集中したら対処できない 実際は分割をまたいだ処理が多い
53.
水平分割 体力 やくそう ジョブ Player A 100 2 戦士 Player B 98 8 格闘家 Player
C 20 0 魔法使い DB 2 Player D 0 10 僧侶 DB 3 DB 1
54.
Application Player1 ELB Player2 Service
55.
メリット ほぼ均等に負荷が分散される プレイヤーに閉じた処理はDBをまたがなくてすむ
56.
デメリット 集計が難しい 技術的難易度(フレームワークがサポートしないetc ユニーク制約をかけれない ID1のデータが分割した数だけ存在する
57.
データが壊れる時
58.
DB ユーザー1 GET A a=3 a=a+2 set(“a”, a) A 3 A 5 3 SET
A 5
59.
DB ユーザー1 ユーザー2 GET A a=3 a=a+2 set(“a”, a) A 3 SET
A 5 3 A 3 A 5 3+2+2=5 A 5 GET A 3 a=3 a=a+2 SET A 5 set(“a”, a)
60.
ロック
61.
DB ユーザー1 GET A &
LOCK A a=3 a=a+2 3 SET A 5 ユーザー2 3 A 3 A 5 A 7 GET A & LOCK 5 SET A 7 a=5 a=a+2
62.
RDBでは標準的 SELECT FOR UPDATE デッドロックの危険性 ロック順番を統一する
63.
CAS
64.
DB ユーザー1 ユーザー2 GET A A 3, ver02 a=3 a=a+2 SET
A 5, ver02 A ver02 ver02 A 3 3 5 3 ver03 ver02 A ver03 5 GET A 3, ver02 a=3 a=a+2 失敗 A 5, ver02 SET
65.
DB ユーザー2 失敗したので最初からリトライ A ver03 5 GET A 5, ver03 a=5 a=a+2 A ver03 ver04 5 7 SET
A 7, ver03
66.
Memcache, Redisなどで使用可能 ロックが無いので処理が止まらない 繰り返すロジックを自分で実装する必要が有る 永遠に失敗し続ける可能性がある リトライ回数に上限をつける
67.
まとめ 負荷対策にはスケールアップとスケールアウトがある データ読み込みに関しては手段が多い KVSはそれぞれのソフトで目的・使い方が違う 書き込みの分散は整合性との戦い
68.
ご清聴ありがとうございました
Descargar ahora