本記事はmod_mruby ngx_mruby advent calendar 2014 20日目の記事です。 昨日は、 @inokappa さんによる「ngx_mruby で Nginx への接続数等の内部情報を取得して InfluxDB と Tasseo で可視化してみる」でした。 僕が担当した17日のアドベントカレンダー「mod_mrubyとngx_mrubyの設計思想とスクリプト間でオブジェクトを共有するためのアーキテクチャ概論」では、オブジェクトを共有しつつも、利用者が効率良く利用できるように最適化したアーキテクチャがどういうものかを説明しました。 そこで言及しつつも保留した以下の点について、今回は紹介したいと思います。 ただし、やはりインタプリタを共有するというアーキテクチャにはデメリットもあって、 グローバル変数や例外フラグ、クラス等のグローバルな状態を同一のインタプリタ上で
![mrubyのサーバアプリケーション組込みにおいて複数スクリプトでインタプリタを共有することのデメリットとその対策 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/6bdca1000b75e7d8271ac8f8e65658bb443cd3a9/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9bXJ1YnklRTMlODElQUUlRTMlODIlQjUlRTMlODMlQkMlRTMlODMlOTAlRTMlODIlQTIlRTMlODMlOTclRTMlODMlQUElRTMlODIlQjElRTMlODMlQkMlRTMlODIlQjclRTMlODMlQTclRTMlODMlQjMlRTclQjUlODQlRTglQkUlQkMlRTMlODElQkYlRTMlODElQUIlRTMlODElOEElRTMlODElODQlRTMlODElQTYlRTglQTQlODclRTYlOTUlQjAlRTMlODIlQjklRTMlODIlQUYlRTMlODMlQUElRTMlODMlOTclRTMlODMlODglRTMlODElQTclRTMlODIlQTQlRTMlODMlQjMlRTMlODIlQkYlRTMlODMlOTclRTMlODMlQUElRTMlODIlQkYlRTMlODIlOTIlRTUlODUlQjElRTYlOUMlODklRTMlODElOTklRTMlODIlOEIlRTMlODElOTMlRTMlODElQTglRTMlODElQUUlRTMlODMlODclRTMlODMlQTElRTMlODMlQUElRTMlODMlODMlRTMlODMlODglRTMlODElQTglRTIlODAlQTYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTE2NzUxZWU4YjNmYTZiODFhMzVlZDZkMzVhZmY3NWZm%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBtYXRzdW1vdG9yeSZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YjZmN2RmZTJjMjVlNWVkNzdkZGFiY2I3OTRhMDczYWE%26blend-x%3D120%26blend-y%3D500%26blend-mode%3Dnormal%26s%3Ddfea8974d8dfd0e890a3966c41f50585)