Introduction to Microservices

An introduction to microservices provided by Game Server Services.

Game Server Services provides a number of microservices to implement in-game features. The microservices described in this section will be implemented in combination according to the specifications of your game.

This section focuses on what each GS2 microservice can do to help game developers plan their games.

How to combine microservices

GS2 microservices each have independent responsibilities, but cooperate via transaction actions. For example, the following kind of cooperation safely realizes complex game logic.

graph LR
  Player[Player] -- Payment --> Platform[AppStore/GooglePlay]
  Showcase[GS2-Showcase] -- Product List --> Player
  Player -- Purchase (with Receipt) --> Showcase
  Showcase -- Issue Transaction --> Distributor[GS2-Distributor]
  Distributor -- Consume Action (Receipt Verification) --> Money
  Distributor -- Acquire Action (Item Acquisition) --> Inventory

Each service exposes transaction actions called “verify actions”, “consume actions”, and “acquire actions”. By chaining these together via GS2-Distributor, processing that spans multiple services can be executed atomically.

How to proceed with learning

If this is your first time using GS2, we recommend starting by understanding GS2-Account. The concept of an anonymous account is the prerequisite for all GS2 services.

Next, by reading through the pages of the feature categories your game needs in order, you can grasp how to choose services for the overall system design of your game.


GS2-Account

Account management feature

GS2-AdReward

Ad reward feature

GS2-Buff

Buff feature

GS2-Chat

Text chat feature

GS2-Datastore

Binary data storage feature

GS2-Deploy

Master data CI/CD feature

GS2-Dictionary

Dictionary feature

GS2-Distributor

Transaction processing feature

GS2-Enchant

Enchantment(random parameter) feature

GS2-Enhance

Enhancement feature

GS2-Exchange

In-game resource exchange feature

GS2-Experience

Experience points and rank features

GS2-Formation

Party and equipment formation feature

GS2-Freeze

Enterprise feature for fixing the version of GS2 microservices

GS2-Friend

Friend/follow feature

GS2-Gateway

WebSocket notification feature

GS2-Grade

Grade/rarity feature

GS2-Guard

Cheat prevention, WAF, and blocking policy feature

GS2-Guild

Guild feature

GS2-Identifier

Credential management feature

GS2-Idle

Idle reward feature

GS2-Inbox

Present box feature

GS2-Inventory

Personal belongings management feature

GS2-JobQueue

Asynchronous job queue

GS2-Key

Encryption key management feature

GS2-Limit

Number of times limit feature

GS2-Lock

Distributed mutual exclusion feature

GS2-Log

API access log and analysis feature

GS2-LoginReward

Login bonus feature

GS2-Lottery

Lottery processing feature

GS2-Matchmaking

Matchmaking feature

GS2-MegaField

Efficient player position synchronization in large 3D spaces

GS2-Mission

Mission and achievement feature

GS2-Money2

Billing currency management feature

GS2-News

Notification delivery feature

GS2-Quest

Progress tracking feature

GS2-Ranking2

Ranking feature

GS2-Realtime

Real-time communication feature

GS2-Schedule

Event scheduling feature

GS2-Script

Lua script execution environment

GS2-SeasonRating

Season rating feature

GS2-SerialKey

Serial code feature

GS2-Showcase

Product sales feature

GS2-SkillTree

Skill tree feature

GS2-Stamina

Stamina feature

GS2-StateMachine

State machine management feature

GS2-Version

Version check feature