linjunpop / archiver_demo

A demo which imitate the RingCentral Archiver

Home Page:https://speakerdeck.com/linjunpop/microservices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Archiver

A demo application to imitate the RingCentral Archiver.

Description

It's an Elixir Umbrella application, which include these sub-applications:

+-------------------------------------------------------------------------------+
|                                     Archiver                                  |
|                                                                               |
|  +--------+            +---------------+          +-------------------------+ |
|  |        |            |               |          |         Worker          | |
|  |   UI   |            |    Fetcher    |          |                         | |
|  |        |            |               |          | +--------+ +----------+ | |
|  |        |   HTTP     |               |   HTTP   | |        | |          | | |
|  |        +----------->|               |<---------+ | Google | | Dropbox  | | |
|  |        |            |               |          | | Drive  | |          | | |
|  |        |            +---------------+          | |        | |          | | |
|  |        |                                       | |        | |          | | |
|  |        |                 HTTP                  | |        | |          | | |
|  |        +-------------------------------------> | |        | |          | | |
|  |        |                                       | +--------+ +----------+ | |
|  +--------+                                       +-------------------------+ |
+-------------------------------------------------------------------------------+

Usage

Running locally

$ iex -S mix

Visit http://localhost:5002 for the UI.

Running in a local Docker Swarm

https://docs.docker.com/engine/swarm/stack-deploy/

$ docker service create --name registry --publish published=5000,target=5000 registry:2

$ docker-compose -f swarm.yml push

$ docker stack deploy --compose-file swarm.yml archiver

About

A demo which imitate the RingCentral Archiver

https://speakerdeck.com/linjunpop/microservices


Languages

Language:Elixir 94.5%Language:Dockerfile 3.0%Language:HTML 2.5%