Development of a distributed web server utilizing Elixir
Ruokolainen, Timo (2017)
Diplomityö
Ruokolainen, Timo
2017
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe201705236845
https://urn.fi/URN:NBN:fi-fe201705236845
Tiivistelmä
Elixir is a relatively new functional programming language, which is based on the Erlang programming language. This master’s thesis takes a look at the tools provided by Erlang and Elixir, and examines what a functional and concurrency oriented programming language can offer for the development of distributed systems. Elixir runs on Erlang’s virtual machine that simplifies the development of concurrent applications. A distributed web server is developed using Elixir, which illustrates the potential benefits gained from utilizing Elixir. The web server employs many of the tools and techniques described in this thesis to induce concurrency, distribution and fault tolerance to the system. It is concluded that Elixir is a strong option for this type of project. Elixir on suhteellisen uusi funktionaalinen ohjelmointikieli, joka perustuu Erlang ohjelmointikieleen. Tämä diplomityö perehtyy Erlangin ja Elixirin tarjoamiin työkaluihin, ja tarkastelee mitä funktionaalinen ja rinnakkaiseen ohjelmointiin perustuva ohjelmointikieli voi tarjota hajautettujen järjestelmien kehittämiseen. Elixir toimii Erlangin virtuaalikoneen päällä, joka yksinkertaistaa rinnakkaisten ohjelmien kehittämistä. Hajautettu web-palvelin kehitetään Elixirillä, joka havainnollistaa mitä etuja Elixir voi potentiaalisesti tuoda. Web-serveri käyttää monia tässä työssä kuvattuja työkaluja ja tekniikoita, joiden avulla järjestelmästä saadaan rinnakkainen, hajautettu ja vikasietoinen. Lopuksi päätellään, että Elixir on vahva vaihtoehto tämän tyyppiseen projektiin.