Skip to content

Repository files navigation

Lazarus

.____                                                    
|    |    _____   _____________   _______  __ __   ______
|    |    \__  \  \___   /\__  \  \_  __ \|  |  \ /  ___/
|    |___  / __ \_ /    /  / __ \_ |  | \/|  |  / \___ \ 
|_______ \(____  //_____ \(____  / |__|   |____/ /____  >
        \/     \/       \/     \/                     \/ 

Lazarus是一个简单、易用、高性能的服务间远程调用管理、调度、负载均衡系统。项目需要支持C++20,同时使用了prometheus-cpp、backward-cpp作为三方依赖,对于总体的qps测试可以使用tool目录下的docker-compose工具构建Prometheus+Grafana 的组合。

启动100个客户端

grafane监控界面:

grafane

web页面展示:

登录页面

管理页面:

管理页面

目前测试单服务器部分本机测试在40w qps,整体框架在13w qps。

TODO

  • 目前数据库入库速率跟不上处理速率,存在写瓶颈,可以增加redis
  • 对于配置的服务器没有进行心跳检验
  • 疑似存在内存泄漏以及资源没有回收的问题,待排查
  • 有些地方可以用更现代的写法(reactor部分)减少资源问题
  • 网络部分可以更现代一点(例如使用boost::asio)
  • 任务队列部分过于粗糙,同时可以用更加专业的消息中间件等等
  • 可以考虑使用协程优化业务回调逻辑
  • 测试不够全面

About

简单、易用、高性能的服务间远程调用管理、调度、负载均衡系统

Resources

Stars

29 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages