Skip to content
Phantom is a high performance proxy for accessing distributed services. It is an RPC system with support for different transports and protocols. Phantom is inspired by Twitter Finagle clients and builds on the capabilities of technologies like Netty, Unix Domain Sockets, Netflix Hystrix and Spring. Phantom proxies have been used to serve several…
Branch: master
Clone or download
Latest commit cb45607 May 25, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
channel-handler-http RELEASE version for 3.4.0 May 25, 2017
channel-handler-thrift
dashboard RELEASE version for 3.4.0 May 25, 2017
docs reduced font size Jun 25, 2015
netty-uds
runtime-netty-uds RELEASE version for 3.4.0 May 25, 2017
runtime-oio-uds RELEASE version for 3.4.0 May 25, 2017
runtime RELEASE version for 3.4.0 May 25, 2017
sample-http-proxy RELEASE version for 3.4.0 May 25, 2017
sample-task-proxy RELEASE version for 3.4.0 May 25, 2017
sample-thrift-proxy RELEASE version for 3.4.0 May 25, 2017
task-http RELEASE version for 3.4.0 May 25, 2017
task-thrift RELEASE version for 3.4.0 May 25, 2017
task RELEASE version for 3.4.0 May 25, 2017
.gitignore
.travis.yml Using travis config file Nov 22, 2016
CHANGELOG.md RELEASE version for 3.4.0 May 25, 2017
README.md Update README.md May 25, 2017
pom.xml RELEASE version for 3.4.0 May 25, 2017

README.md

Phantom

Phantom is a high performance proxy for accessing distributed services. It is an RPC system with support for different transports and protocols. Phantom is inspired by Twitter Finagle clients and builds on the capabilities of technologies like Netty, Unix Domain Sockets, Netflix Hystrix and Spring. Phantom proxies have been used to serve several hundred million API calls in production deployments at Flipkart.

Releases

Release Date Description
Version 3.4.0 May 2017 Passing execution errors to fallback
Version 3.3.0 Feb 2017 Upgrading to Jetty 9.4.1.v20170120
Version 3.2.0 Jan 2017 Hystrix 1.5.8, Customizable core and max thread pool sizes for Task
Version 3.1.0 Nov 2016 Non blocking http and thrift proxy
Version 3.0.1 Oct 2016 Using fasterxml jackson everywhere

Changelog

Changelog can be viewed in CHANGELOG.md file (https://github.com/Flipkart/phantom/blob/master/CHANGELOG.md)

Why Phantom

Phantom is the "ghost who walks" - an entity whose presence can be felt (in a good way) but its existence need not be acknowledged. The Service Proxies fit this analogy well and therefore earned the moniker "Phantom". Motivation for creating Phantom and design overview is described in this Proxies for resilience and fault tolerance in SOA blog post.

Phantom Consoles

Monitor

Admin Console

Getting Started

The Getting Started page has "5 minute" examples to help you start using Phantom proxies.

Documentation and Examples

Phantom project modules that start with "sample" - for e.g. sample-http-proxy, sample-task-proxy are example proxy implementations. Documentation is continuously being added to the Wiki page of Phantom (https://github.com/Flipkart/phantom/wiki)

Getting help

For discussion, help regarding usage, or receiving important announcements, subscribe to the Phantom users mailing list: http://groups.google.com/group/phantom-users

License

Phantom is licensed under : The Apache Software License, Version 2.0. Here is a copy of the license (http://www.apache.org/licenses/LICENSE-2.0.txt)

Core contributors

You can’t perform that action at this time.