Wheatserver

uWSGI轻量级项目
授权协议 BSD
开发语言 C/C++
所属分类 服务器软件、 应用服务器
软件类型 开源软件
地区 国产
投 递 者 澹台文博
操作系统 Linux
开源组织
适用人群 未知
 软件概览

Wheatserver来自于构造一个开源的uWSGI轻量级的项目,但随着项目发展,可插拔式的工程构建使得发展为通用应用服务器,分离的模块使得极易构造出适合的应用环境。通过Wheatserver,我们构建出了一个极快的WSGI应用服务器和Redis集群管理应用,我们发现Wheatserver能极大的提高高性能服务器端软件的构建。

设计目标

  1. 具备一定强度的并发请求处理能力
  2. 具有多种工作模式,同步、异步或者多线程,协程,并且可以扩展
  3. 应用层协议和应用可以模块式开发,框架最少接口化和接口最少疑惑
  4. 具备强有力的内部反馈和自省能力,方便系统管理
  5. 最少的依赖和选项最少化
  6. 增强系统的自身调控,减少高级配置项
  7. 保持简洁

特性

  • 快速: 全部用C实现,丢弃任何不需要的组件
  • 低内存: 保存进程低内存需要并且采取措施使多个工作进程能尽量共享只读内容
  • 插件式: 模块可以自由增加和卸载,可以方便自定义所需模块
  • 监控: 自定义模块监控内容,可以通过客户端直接查看统计信息
  • 热重启: 改变配置文件后可以通过发送信号来热重启
  • 运维: 通过非常简单的命令接口协议使管理人员能方便的控制Wheatserver
 相关资料
  • 主要内容:使用普通函数创建 goroutine,使用匿名函数创建goroutine在编写 Socket 网络程序时,需要提前准备一个线程池为每一个 Socket 的收发包分配一个线程。开发人员需要在线程数量和 CPU 数量间建立一个对应关系,以保证每个任务能及时地被分配到 CPU 上进行处理,同时避免多个任务频繁地在线程间切换执行而损失效率。 虽然,线程池为逻辑编写者提供了线程分配的抽象机制。但是,如果面对随时随地可能发生的并发和线程处理需求,线程池就不是非常直观和方便了。能否

  • Jenkins Pipeline插件有一个称为“轻量级签出”的功能,其中主服务器仅从repo中提取Jenkinsfile,而不是整个repo。配置屏幕中有一个相应的复选框。我想在多分支管道中进行轻量级签出,但我在多分支配置屏幕中没有看到复选框。有什么想法如何实现这一点吗?我注意到一些关闭的问题表明此功能可用,但我无法找到任何有关如何实现它的细节。 相关资料: https://issues.jenk

  • 问题内容: JPanel和JFrame有什么区别,以及与轻量级,重量级的关系? 问题答案: JPanel是允许将多个UI组件放在一起的容器。JFrame是使用Swing编写的窗口。 所有的Swing组件都是所谓的“轻型”组件,因为它们是用Java编写的。例如,如果您运行Swing应用程序并尝试使用UI分析工具(例如Windows中的WinSpy)对其进行分析,则只会看到一个元素:窗口(JFrame

  • 问题内容: 题 我正在寻找Java内存对象缓存API。有什么建议吗?您过去使用过什么解决方案? 当前 现在,我只是在使用地图: 要求 我需要扩展缓存以包括以下基本功能: 最大尺寸 生存时间 但是,我不需要更复杂的功能,例如: 来自多个进程的访问(缓存服务器) 持久性(到磁盘) 意见建议 内存中缓存: Guava CacheBuilder-活动开发。请参阅此演示文稿。 LRUMap-通过API配置。

  • 问题内容: 我目前在一个网站上工作,该网站必须存在于内存可用性非常低的VM上(目前被告知要达到512mb)。不幸的是,至少在不久的将来,数据库和Web应用程序必须是同一台服务器。 现在,我已经在这里通读了一些问题,并尝试进行自己的研究,但是这里有很多选择。从本质上讲,什么是可以安装的轻巧的数据库服务器?SQL或NoSQL并不重要;它不会占用大量数据库资源,但我现在不想随我现在选择的内容而受到限制。

  • 本文向大家介绍Spring boot项目redisTemplate实现轻量级消息队列的方法,包括了Spring boot项目redisTemplate实现轻量级消息队列的方法的使用技巧和注意事项,需要的朋友参考一下 背景 公司项目有个需求, 前端上传excel文件, 后端读取数据、处理数据、返回错误数据, 最简单的方式同步处理, 客户端上传文件后一直阻塞等待响应, 但用户体验无疑很差, 处理数据可

  • 主要内容:一、简介,二、Java对象头中的Mark Word,三、偏向锁,四、轻量级锁,五、重量级锁,六、自旋锁,七、锁升级过程一、简介 在讲解这些锁概念之前,我们要明确的是这些锁不等同于Java API中的ReentratLock这种锁,这些锁是概念上的,是JDK1.6中为了对synchronized同步关键字进行优化而产生的的锁机制。这些锁的启动和关闭策略可以通过设定JVM启动参数来设置,当然在一般情况下,使用JVM默认的策略就可以了。 二、Java对象头中的Mark Word HotSpo

  • 问题内容: 在解决了另一个愚蠢的日食问题之后,我想尝试获得尽可能轻巧,最小的Eclipse安装。 为了清楚起见,我使用eclipse做两件事: 编辑Java 调试Java 我通过Emacs / Zsh完成的所有其他工作(编辑JSP / XML / JS,文件管理,SVN签入等)。我还没有发现在Eclipse中进行工作以使这些任务高效甚至可靠的任何方面,因此我不希望与之相关的插件。 在eclipse