Skip to content
forked from highku/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…

Notifications You must be signed in to change notification settings

danielzheng/phantom

 
 

Repository files navigation

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 1.4.4 Mar 2016 Bug fixes in Thrift proxy, API interface generalization
Version 1.4.3 Dec 2015 Bug fixes in TCPNettyServer, Distributed tracing
Version 1.4.2 Nov 2015 Upgrade to Spring 4.x, Http proxy, Task interface
Version 1.4.1 Jul 2015 Bug fix in async task execution

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

About

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…

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 75.1%
  • JavaScript 9.4%
  • CSS 7.1%
  • HTML 3.8%
  • FreeMarker 3.6%
  • PHP 1.0%