Skip to content
Alex Tan Hong Pin edited this page Feb 6, 2017 · 3 revisions

Microservice Architecture

Work In Progress

  • Customer-Facing applications cannot directly touch any data store
  • No service accesses another service's data store
  • Invest in making spinning up new services trivial
  • Built services in a consistent way
  • Define Api Contracts in code

Designing APIs

API Hypermedia (JSON API) Service Orchestration

Storage

MongoDB, Elastic Search, Couchbase

ETags/Last Modified

Circuit Breaker Caching in Client Library Error Handling Service Discovery

Messaging

RabbitMQ, Kafka

Configuration and Discovery

Consul, etcd

Job Schedulers / Workload Automation

Cronman

##Testing and Deployment

  • Docker

Monitoring

Prometheus, Keymetrics

Security

API Gateways

... not yet implemented. But using Kong API service or manually implement with OpenResty Nginx.

Authentication/Authorization (OpenId2)

The sample Koa OpenID Server contains the following example:

  • Configuration based on 12-factor Apps
  • JSON Schema
  • Service Separated
  • Authentication/Authorization with different provider
  • Validation for request/response with API Contracts

Logging

Documentation

APIARY The api documentation is not language-specific. The nice thing about REST is you can use any language to implement it.

Circuit Breaker

Client-side and server-side circuit-breaker samples can be found for the following: