How to use software-embedded mruby

How to use software-embedded mruby

You can use mruby by embedding it in software as well as hardware. Here are some of such examples

The first , Introducing 2 example of extending the functionality of the http daemon developed by Matsumotory using mruby.

ngx_mruby is software that can easily extend the functionality of nginx web server software with mruby, has a light memory footprint, and is fast without interfering with HTTP processing. It also supports non-blocking I / O, so API accesses from nginx to mruby can be processed without blocking.
This software has won the following awards.

  • Fukuoka Ruby Award: Outstanding Performance Awards,
  • IPSJ Yamashita SIG Research Award,
  • Japan OSS Encouragement Award

• ngx_mruby

• ngx_mruby
ngx_mruby is A Fast and Memory-Efficient TCP/UDP Load Balancing and Web Server Extension Mechanism Using Scripting Language mruby for nginx.
• ngx_mruby
  • ngx_mruby is to provide an alternative to lua-nginx-module or mod_mruby of Apache httpd.
  • Unified Ruby Code between Apache(mod_mruby), nginx(ngx_mruby) and other Web server software(plan) for Web server extensions.
  • You can implement nginx modules by Ruby scripts on nginx!
  • You can implement some Web server software extensions by same Ruby code (as possible)

• mod_mruby

• mod_mruby
mod_murby is A Fast and Memory-Efficient Web Server Extension Mechanism Using Scripting Language mruby for Apache httpd.
• mod_mruby
  • Unified Ruby Code between Apache(mod_mruby), nginx(ngx_mruby) and other Web server software(plan) for Web server extensions.
  • You can implement Apache modules by Ruby on Apache httpd.
  • You can implement some Web server software extensions by same Ruby code (as possible)
  • mod_mruby is to provide an alternative to mod_lua or ngx_mruby of nginx.
  • Supported Apache Version: 2.2 2.4
Here is an another example of mruby embedded in software,

HACONIWA developed by udzura-san

HACONIWA developed by udzura-san
mruby on Container / helper tools with DSL for your handmade linux containers
HACONIWA developed by udzura-san

Haconiwa is written in mruby, so you can utilize Ruby DSL for creating your own container.

  • Haconiwa ( 箱庭- a miniature garden) is a container builder DSL, by which you can choose any container-related technologies as you like:
  • Linux namespace
  • Linux control group(cgroup)
  • Linux capabilities
  • Bind mount / chroot
  • Resource limit(rlimit)
  • setuid/setgid
Using mruby, H2O is a new generation HTTP server

H2O - an optimized HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3 (experimental) by kazuho

H2O - an optimized HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3 (experimental) by kazuho
H2O - an optimized HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3 (experimental) by kazuho

H2O is a new generation HTTP server that provides quicker response to users with less CPU utilization when compared to older generation of web servers. Designed from ground-up, the server takes full advantage of HTTP/2 features including prioritized content serving and server push, promising outstanding experience to the visitors of your web site.

NieR Automata: PS4
mruby is also used in game development.

NieR Automata: PS4

NieR Automata: PS4