1 業務伺服器
2 資料伺服器
3 redis
4 canal
5 mysql
其中業務伺服器是多組的,負責遊戲的業務邏輯,是資料的生産者和消費者。
産生和更新的資料會将請求發送給資料伺服器,由資料伺服器順序寫入。
資料的讀取,分兩種情況:
1 優先通過RedisClient從Redis中讀取
2 如果reidis中不存在,則發送讀取請求給資料伺服器
資料伺服器主要由四部分組成。
1 資料的持久化,所有的業務伺服器的資料的寫操作請求通過這部分順序寫入到mysql資料庫。
2 CanalClient,接收到cannal server的更新,将資料更新到Redis中
3 RedisClient,被CanalClient調用,更新Redis緩存
4 如果資料在Redis緩存中沒有,則直接從資料庫中讀取,并更新到Redis緩存中(更新的時候,再嘗試從Redis中尋找,如果存在,則以存在的資料為準)