otp


What are the architectural differences between Erlang/OTP and OpenResty?


In Erlang/OTP, I've read how light weight processes, the actor model, and supervisors are important in creating reliable services. How would this compare to OpenResty (master/worker, async IO, embedded Lua)?
I am curious over a general architectural overview on the main concepts to better understand how OpenResty would be used alongside (or instead of) Erlang/OTP.
These two links partially answers the question:
https://github.com/openresty/lua-nginx-module/blob/master/README.markdown
The Lua interpreter or LuaJIT instance is shared across all the
requests in a single nginx worker process but request contexts are
segregated using lightweight Lua coroutines.
Loaded Lua modules persist in the nginx worker process level resulting
in a small memory footprint...
https://github.com/openresty/lua-nginx-module/wiki/Introduction
...for each incoming request, lua-nginx-module creates a coroutine to run user code to process the request, and the coroutine will be destroyed when the request handling process is done. Every coroutine has its own independent global environment, which inherits shared read-only common data.
...lua-nginx-module can handle tens of thousands of concurrent requests with very low memory overhead. According to our tests, the memory overhead for each request in lua-nginx-module is only 2 KB or even half smaller if LuaJIT is used.

Related Links

How to build a release archive with rebar3 together with lager
Open trip planner internal algorthim
What are the architectural differences between Erlang/OTP and OpenResty?
GTFS fares allocation depending on time
Using GTFS real time feed
How to run Elixir Supervisor in escript
Online Users Storing Elixir
How to create a distributed application on elixir?
What version of .NET does OTP.NET use? [closed]

Categories

HOME
httparty
turing-machines
delphi-7
ggplot2
apache-flink
mjml
composite-primary-key
package
jsf-2.2
graphics
rom
mips
jetty
nuget-package
crystal-lang
character
modal-dialog
recordrtc
dkim
openpyxl
distribution
watson-conversation
renjin
keytool
dreamweaver
html5-appcache
google-picker
xmonad
jmp
connector
visual-glitch
string-concatenation
short-url
monit
dapper-extensions
syntax-highlighting
licensing
shared
corpus
wcag
sqsh
nsurl
scrollview
testbed
kodi
quickfixj
simplecv
android-sugarorm
code-snippets
dynamic-jasper
xajax
raft
sql-server-ce
ideascript
nohup
plaintext
android-checkbox
jide
nanoc
aquamacs
context-switch
scalding
qtranslate
context-sensitive-grammar
boxing
er-diagram
universal-analytics
rmongo
gets
webjars
nikeplus-api
wso2developerstudio
vorpal.js
cda
ikiwiki
false-sharing
design-principles
finalbuilder
branch-and-bound
airbrake
mirror
omnifaces
ms-access-2000
packet-sniffers
wcm
trdion2011
cuba
codeplex
live555
cfcache
drupal-nodes
xmltodict
scriptaculous
visual-studio-express
solace-mq
sphinxql
ice-cube
pagedown
pdfviewer
panda3d
boost-msm
cakephp-1.2
iboutlet
database-create
expression-blend-4
codebase
ie-compatibility-mode
nstokenfield
request-headers
lxr
web-application-project
dojo-dnd
fault-tolerance
unmanagedresources
soappy

Resources

Encrypt Message