/gm-fabric-jvm

Primary LanguageScalaApache License 2.0Apache-2.0

PROLOG

This product is a microservice framework for the JVM and is intended to be built upon and extended. We have made an initial release of the source code, and continue to work actively to make it better. We hope to build an active open source community that drives the future of this framework, both by providing feedback and by actively contributing to the source code.

gm-fabric-jvm ( gmf )


This project is built on top of Twitter's Finagle and Finatra libraries. The core functionality resides in finagle-core and finatra-http and has been abstracted from the developer.

This project has two modules core and archetype. The core module has the underlying business logic that abstracts the Thrift and RESTful capabilities from the developer. The archetype module is used to build out a microservice.

A microservice ( MS ) is composed of four modules defined in the table below.

Module Description
business Shared business logic either written in scala or java.
client Thrift client and test coverage.
config Parameters to be leveraged across all modules.
model Thrift model.
server REST and Thrift endpoints.

Latest release

Generic Prerequisite

You will need to install:

  • Maven 3.3.x.
  • Java 8
  • Scala 2.11.8
  • rpm

How to do stuff

The following section is made up of multiple sections describing how to code, configure and various other subject matter with respect to dealing with a microservice.

Coding

How to code a microservice.

Version Control System

Configuration

Configuring a microservice.

Adding parameters

Adding your own parameters and changing default behavior provided by the framework.

Configuring metric plugins

Filters

How to configure filters and what they provide for your microservice.

TLS Utilities.

Administration

How to administer your microservice.

Other

Known issues

License