@microservice-framework/microservice-router

Microservice framework router

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
07Mar 21, 2019Aug 2, 2016Minified + gzip package size for @microservice-framework/microservice-router in KB

Readme

microservice-router

Gitter npm microservice-frame.work

Proxy-Router for microservice-framework

Change Log

  • 1.3.1
    • Add to access control header - x-total-count
  • 1.3.0
    • preparing switch from access_token header to 'Access-Token'
  • 1.2.8
    • bugfix release
  • 1.2.7
    • bugfix release
  • 1.2.6
    • bugfix release
    • POST explorer improvements
  • 1.2.5
    • built in explorer exloper

Setup using mfw-cli

  • Create myproject first:

    # mkdir myproject
    # cd myproject
    # mfw setup 
    
  • Install router service

    # mfw install @microservice-framework/microservice-router --save
    
  • Start service

    # mfw start all
    
  • Configure NGINX to direct requests to router instances:

    ```nginx upstream apiv1 {

      server api1.server.com:3100;
      server api2.server.com:3100;
    

    } upstream apiv1admin {

      server api1.server.com:3000;
      server api2.server.com:3000;
    

    } server {

      listen       443 ssl;
      server_name  my-server.com www.my-server.com;
        underscores_in_headers on;
        large_client_header_buffers 4 64k;
      ssl_certificate ssl/my-server.com.crt;
      ssl_certificate_key ssl/my-server.com.key;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_ciphers         HIGH:!aNULL:!MD5;
    
    location ~ /\.(svn|git|ht) { deny all; }

    location /api/v1/ {
      limit_conn                 conn_from_one_ip 20;
      proxy_pass                 http://apiv1/;
      proxy_connect_timeout      15m;
      proxy_send_timeout         15m;
      proxy_read_timeout         15m;
      proxy_set_header  Host       $host;
      proxy_set_header  X-Real-IP  $remote_addr;
      proxy_set_header  HTTP_X_FORWARDED_FOR  $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Range "";
      proxy_buffers 8 16k;
      proxy_buffer_size 32k;
    }

    location /admin/api/v1/ {
      limit_conn                 conn_from_one_ip 20;
      proxy_pass                 http://apiv1admin/;
      proxy_connect_timeout      15m;
      proxy_send_timeout         15m;
      proxy_read_timeout         15m;
      proxy_set_header  Host       $host;
      proxy_set_header  X-Real-IP  $remote_addr;
      proxy_set_header  HTTP_X_FORWARDED_FOR  $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Range "";
      proxy_buffers 8 16k;
      proxy_buffer_size 32k;
    }
}

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.