Details

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

      Description

      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
      @DiscoveryEnabled
      public class TimeService extends HttpServlet {

      @Inject
      private DiscoveryClient client;

      @Override
      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

          Attachments

            Issue Links

              Activity

                People

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

                  Dates

                  • Created:
                    Updated:
                    Resolved: