• Type: Story
    • Status: Closed (View Workflow)
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 1.0.0.Alpha6
    • Component/s: None
    • Labels:


      Netflix OSS provides powerful open source tools that would be very nice additions to WF Swarm. These tools can enable services and patterns like Service Discoverability, Client Side Load Balancing, and Circuit Breaker. Because Netflix assumes an AWS infrastructure for at least one of these services, we will need to either find a replacement or fork/modify the Netflix offerings.

      The Netflix tools for these capabilities are:

      • Service Discoverability: Eureka. This service assumes an AWS cloud infrastructure, but is runnable locally on a developer machine.
      • Client Side Load Balancing: Ribbon. No obvious AWS dependencies
      • Circuit Breaker: Hystrix. No obvious AWS dependencies

      Swarm should make these patterns available to developers in a simple and declarative way through annotations which can selectively activate the service. An example of how this would work with Service Discovery is shown with a pseudo code example below.

      Service Discovery

      Keep in mind that Eureka clients will need a full-fledged Eureka server to talk to.

      // Registers this service with the Eureka server
      // and makes this class also a Eureka client
      public class TimeService extends HttpServlet {

      private DiscoveryClient client;

      protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

      { resp.getWriter().write( new DateTime() ); }

      // if this made up service relied on some other service, like
      // a TACOS service, the Eureka server will provide the next server available
      private String tacosURL()

      { InstanceInfo instance = client.getNextServerFromEureka("TACOS", false); return instance.getHomePageUrl(); }


        Gliffy Diagrams


            Issue Links



                • Assignee:
                  lanceball Lance Ball
                • Votes:
                  0 Vote for this issue
                  0 Start watching this issue


                  • Created: