当我们有一个应用,部署在多个服务器上。这些服务器每天都要更新数据。我们怎么更新数据呢?
总的来说,我们有两种方式,一种是集中式的,用push方式,从数据服务器推送到应用服务器。
另外一种:我们在应用服务器,主动请求服务器,从而下载数据。
简单总结了两种方式的优缺点。
Push 优点
集中式管理
依次推送数据,数据服务器不会有响应不过来的问题
容易知道下游应用有哪些
Push 缺点
如果有一台推送失败比较麻烦
如果集中式管理的机器不可用;我们无法用另外一台机器去推送
必须知道所有的下游应用。
当下游应用下线,数据服务器需要修改推送的配置。
下游任务上线必须要修改数据服务器
Pull 优点
数据服务器不用知道有多少应用在使用数据。数据服务器更简单
当有多台数据服务器,如果有一台不可用,我们可以请求另外一台。
下游应用可以随时上线下线
下游应用可以控制取数据的时间。
失败重取数据比较简单
Pull 缺点
如果所有的客户端同时请求数据服务器,可能数据服务器无法响应。我们需要解决多个服务器之间同步请求数据的问题。
不容易知道有哪些下游应用。
总的来说,我们有两种方式,一种是集中式的,用push方式,从数据服务器推送到应用服务器。
另外一种:我们在应用服务器,主动请求服务器,从而下载数据。
简单总结了两种方式的优缺点。
Push 优点
集中式管理
依次推送数据,数据服务器不会有响应不过来的问题
容易知道下游应用有哪些
Push 缺点
如果有一台推送失败比较麻烦
如果集中式管理的机器不可用;我们无法用另外一台机器去推送
必须知道所有的下游应用。
当下游应用下线,数据服务器需要修改推送的配置。
下游任务上线必须要修改数据服务器
Pull 优点
数据服务器不用知道有多少应用在使用数据。数据服务器更简单
当有多台数据服务器,如果有一台不可用,我们可以请求另外一台。
下游应用可以随时上线下线
下游应用可以控制取数据的时间。
失败重取数据比较简单
Pull 缺点
如果所有的客户端同时请求数据服务器,可能数据服务器无法响应。我们需要解决多个服务器之间同步请求数据的问题。
不容易知道有哪些下游应用。