Skip to content
云风 edited this page Aug 19, 2014 · 23 revisions

当你把业务拆分到多个服务中去后,数据如何共享,可能是最易面临的问题。

最简单粗暴的方法是通过消息传递数据。如果 A 服务需要 B 服务中的数据,可以由 B 服务发送一个消息,将数据打包携带过去。如果是一份数据,很多地方都需要获得它,那么用一个服务装下这组数据,提供一组查询接口即可。

Datacenter

datacenter 模块对此做了简单的封装。

local dc = require "datacenter"

datacenter 其实就是一个全局服务,保存了一个树结构。对外提供了更新和查询接口。一共有三个 API 可供使用:

  1. datacenter.set(key, ..., value) 用一系列 key 索引到树上的一个节点,并把 value 设置进去。

  2. datacenter.get(key, ...) 用一系列 key 索引到树上的一个节点,读出它。

没写完,下次接着写。

Clone this wiki locally