restserver

RESTful 应用服务平台
授权协议 Apache
开发语言 C/C++
所属分类 Web应用开发、 REST/RESTful项目
软件类型 开源软件
地区 国产
投 递 者 越心水
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

restserver是一个小巧、高效、低耗的C技术栈的RESTful应用服务平台。

小巧是因为链接出来的可执行程序只有300多KB,应用接口库80KB,本体源码都在一个目录中,手写的大概一千行左右,用预置好的makefile一条命令就能完成源码编译安装。

高效是因为她完全用C编写而成,采用多进程+多路复用模型,参考Nginx。

低耗是因为空载运行只占了几MB内存,特别适合买不起高配云服务器的个人开发者。对于企业来说,现在动不动就要求8、16、32GB内存配置,如果软件能低耗运行,节省下来的硬件支出也是相当可观,或者说相同配置的硬件上能对外提供更大容量的应用服务。

restserver功能特性如下:(截止版本v0.8.0)

  • HTTP核心功能:如侦听IP、PORT、域名匹配、超时控制。
  • HTTP安全控制:防御巨量HTTP头选项、防御巨大HTTP头、防御巨大HTTP体。
  • 平台封装至RESTful层:与Apache、Tomcat封装HTTP层相比,封装层次更高,应用无需处理HTTP层的众多细节,自带RESTful控制器直接分派到RESTful服务入口,应用接口直接提供RESTful编程接口。你也可以编写自己的控制器替换自带控制器。
  • 多进程+多路复用模型:充分利用多核环境,防御慢速TCP,支持巨量TCP连接和同时收发,且性能卓越。
  • 可执行程序+动态库模式:restserver是应用服务平台(可执行程序),启动后装载应用(动态库),外来请求被平台接收和解析,转交给应用动态库处理,处理完后返回平台,发送响应回去,平台和应用的部署运行边界解耦清晰。
  • 运行模式:以前给公司研发的多款平台框架沉淀下来的优秀设计思想,测试模式即时装卸应用,重构应用后无需重启平台,生产模式预装载应用,性能无损耗,谁说鱼与熊掌不可兼得?那是教条!
  • 平台自有日志设施:可配置日志文件名、日志等级,同时应用也能使用。
  • Rest Server是一个高性能HTTP服务器,它实现了restic的REST后端API。它通过restic备份客户端通过rest:URL提供了安全有效的远程备份数据方式。 git clone https://github.com/restic/rest-server.git 从github下载命令下载最新的版本 从源码build 需要go 1.7以上版本 与restic 搭配使用需要resti

  • IoT Gateway即Internet of Things Gateway物联网网关。 Kepware以插件的形式提供了4种网关: - MQTT客户端 - REST客户端 - REST服务器 - ThingWorx网关 各种网关形式的区别及说明就不聊了!!! ---------------------------------------------------------------------

 相关资料
  • 4.1 ABP应用层 - 应用服务 应用服务用于将领域(业务)逻辑暴露给展现层。展现层通过传入DTO(数据传输对象)参数来调用应用服务,而应用服务通过领域对象来执行相应的业务逻辑并且将DTO返回给展现层。因此,展现层和领域层将被完全隔离开来。在一个理想的层级项目中,展现层应该从不直接访问领域对象。 4.1.1 IApplicationService接口 在ABP中,一个应用服务需要实现 IAppl

  • 服务管理平台是一个开发者使用的平台,它能够通过可视化配置,自动生成接口服务,同时为了安全性和差异化服务,加入了接口权限控制功能,同时一键发布到数据汇总平台,并查看相关帮助文档,接口参数等信息。最后全程监控服务调用过程,记录相关日志服务信息,确保系统稳定,排查系统异常,同时提供相关接口调用统计分析数据。 服务的功能架构如下: 四个模块之间通过接口服务串联起来。     1. 首先需要进行服务配置,配

  • 应用程序服务是一项基于 HTTP 的服务,用于托管 Web 应用程序、REST API 和移动后端。 应用程序服务是一项基于 HTTP 的服务,用于托管 Web 应用程序、REST API 和移动后端。支持 ASP.NET、ASP.NET Core、Java、Ruby、Node.js、PHP 或 Python等主流编程语言,用户可以无需管理底层基础设置,即可简单、高效、安全和灵活地对应用进行部署、

  • 直到最近,我还认为WCF服务仅限于.NET(即只能从.NET应用程序访问),因为它们公开了一个.NET对象,使用者在该对象上调用方法(然后当然在服务器上运行)。 然后我读到WCF服务是跨平台的;即可以从多种平台访问,而不仅仅是.NET。

  • GoBelieve IM云平台服务端,采用 Go 语言开发,有运行稳定,高并发,易扩展的特点。 GoBelieve IM云平台特色: 支持点对点消息, 群组消息, 聊天室消息 支持集群部署 单机支持50w用户在线 单机处理消息5000条/s 支持超大群组(3000人)

  • 第三方应用是由第三方服务商提供的办公应用套件,管理员可根据企业办公需要选择安装。作为企业微信内置OA应用的重要补充,丰富的第三方应用套件将全方位满足企业的办公需求。企业微信会对第三方服务商提供的应用进行质量把关,保证上架应用的用户体验。 安装应用 前往【管理后台】>【企业应用】中安装第三方应用: 01/06在【企业应用】>【第三方应用】中点击【+】安装第三方应用。 02/06进入套件,点击【安装】

  • 9501就是swoole服务器监听的地址。root设置为静态文件的目录。当请求静态文件是由Nginx/Apache直接处理,当请求的文件不存在时,发送给Swoole服务器,来进行处理。 nginx配置 server { listen 80; server_name www.swoole.com; root /data/wwwroot/www.swoole.com;

  • 让我们用async/.await建立一个回声服务器! 开始之前,运行rustup update stable,以确保你有 stable Rust 1.39 或更新的版本。一旦完成,就cargo new async-await-echo创建新项目,并打开输出的async-await-echo文件夹。 让我们将一些依赖项,添加到Cargo.toml文件: [dependencies] # The la