工作中涉及到的应用负载的一些想法

一些胡乱的想法与实现

 

场景:生产者与消费者模型,前端一台ftpServer接收文件,一个文件接收完成后由一个后台进程对其进行业务处理。

 

1.       简单架构

这种设计下,不存在负载均衡,所有接收完成的文件,全部由业务处理进程加工。

业务处理进行的工作:定时任务取可处理文件,取到后进行处理,一个文件可重试N次后决定其处理结果。

 

  

  

2.       带负载架构

这种设计下,每个业务处理进程在不同的调度点,从数据库中取一定数量的文件进行处理。每个业务处理进程完成的工作都是相同的,一个结点挂了,不应响其他结点处理。

 

       

      

 

3.       按业务类别进行负载

 

随着业务需求的变化,对接收完成的文件按其类别进行不同的业务处理操作。可以考虑按业务类别进行负载。可能带来的好处,当某类业务处理操作消耗资源校多时,可考虑增加部署资源。 

  

     a.

 

 

 

 

b. 增加了中间层服务器,由其负责连接数据库,获取待处理文件资源。中间层服务器可以横向扩展进行负载,业务处理进程可从基础服务处得到中间层服务器列表,取其一可用IP进行访问。 中间层做横向扩展时,待处理文件资源需要做同步操作。

 

 

后记,随着业务处理进程的增多,随着各种服务器的增加,当设备数量增长到一定程度时。对服务器的快速管理、部署、排错等运维需求将浮出水面。感觉需要这么一套IT运维管理的机制与系统。或者是不是可以考虑类似hadoop项目这种分布式处理方案?

 

 

猜你喜欢

转载自lenozhi.iteye.com/blog/1066321