Blog

Announcing Express Gateway v1.1.0

This morning we added the finishing touches of load balancing features into the proxy policy that Wyatt needed at Joyent. Also added Windows support along with AppVeyor CI.

Releasing Express Gateway v1.1.0

Get the latest bits from NPM: express-gateway@1.1.0.

Express Gateway adheres to Semantic Versioning. As a result, v1.1.0 is fully compatible with previous 1.x releases.

Install
$ npm install -g express-gateway
Upgrade
$ npm update -g express-gateway
Release notes
Added
  • Adding a basic round-robin load balancer (#326)
  • Windows Support and AppVeyor integration (#342)
Changed
  • Standardize CLI Output (#343)
Fixed
  • expireDate is now set and checked for Authorization Codes (#344)
  • Changing OAuth2 dialog to point to correct URL. (#346)

New Feature: Load Balancing

With the v1.1.0 release, Express Gateway now supports load balancing.

A typical serviceEndpoint configuration identifies a single url. The proxy policy uses this parameter to identify backend targets for incoming requests.

serviceEndpoints:
  backend:
    url: "http://api.example.com"

What happens when a single target is not enough? The load balancing feature allows Express Gateway to route traffic to more than one backend URL.

To enable load balancing, a service endpoint configuration requires a list of urls.

serviceEndpoints:
  backend:
    urls:
      - "http://api1.example.com"
      - "http://api2.example.com"

The proxy policy will recognize multiple URLs associated with a service endpoint and look to an optional strategy parameter, defaulting to round-robin.

See the proxy and serviceEndpoint documentation for more information.

What’s next?

Advanced Routing

More complex proxy rules will be introduced to do wildcard-based matching, similar to Express routing rules

Service Discovery & Orchestration

Integrations with Kubernetes, Consul, and other infrastructure components are currently under consideration.

More Resources