改造网络负载平衡

  原因: 

    经过前几天的压力测试, 发现网络层处理消息有些问题, 定长的BUFF导致响应客户端请求的数量要远高于数据库返回的响应(因为客户端发送的协议数据长度很小, 而数据库返回的却很大, 在同样长度的BUFF内可以容纳更多的客户端请求, 打个比方, 平均响应100条客户端请求, 才能响应一条数据库请求, 这势必会造成服务器内部堆积了大量的不均衡请求对, 最终有可能导致服务器挂掉), 所以打算近期进行改造.

 

  思路:

     如果能让每条连接响应的协议数量可控, 则可以大大减少这种情况的发生. 那么总体需要完成以下目标:

     1) 增加接受回调函数的返回值(返回是否还需要继续通知)

     2) 增加未完成队列(该队列应为一个hash_tbl, 用于存放哪个连接还有数据未读取完, 且需要通知)

 

     为了能在响应这些通知的时候, 有能继续处理系统通知事件, 这需要一个额外的线程辅助, 不过这样又会涉及到锁, 不安全的回调参数等问题, 我还并不是很希望进入这样的不安全因素, 所以还需要进一步的思考完善.

 

     未完待续...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章