Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 4F448200CA9 for ; Fri, 16 Jun 2017 22:04:07 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 4DB6D160BDD; Fri, 16 Jun 2017 20:04:07 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 6DE01160BC0 for ; Fri, 16 Jun 2017 22:04:06 +0200 (CEST) Received: (qmail 16199 invoked by uid 500); 16 Jun 2017 20:04:05 -0000 Mailing-List: contact dev-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list dev@camel.apache.org Received: (qmail 16187 invoked by uid 99); 16 Jun 2017 20:04:05 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Jun 2017 20:04:05 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id E301AC05CB for ; Fri, 16 Jun 2017 20:04:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.38 X-Spam-Level: X-Spam-Status: No, score=0.38 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id zmJBgK2abDjU for ; Fri, 16 Jun 2017 20:04:02 +0000 (UTC) Received: from mail-yw0-f174.google.com (mail-yw0-f174.google.com [209.85.161.174]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id D6AE75FB29 for ; Fri, 16 Jun 2017 20:04:01 +0000 (UTC) Received: by mail-yw0-f174.google.com with SMTP id v7so24110361ywc.2 for ; Fri, 16 Jun 2017 13:04:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=WjIUgnj0ivj2kCA+zeoEAIrlTEtI0z8cyBtHfnrTuFo=; b=SXw3++OTM59vygT/Xtjej04brGuMUK2VUD5nRxCgDlUdBlNP7V5dACeXzHGf3a2FkC SQmMvqle9tUOME3pBPb0aSNAcm9/8JO5ZdEnnMK6hQ6yrAqkT5o7D+F68+F/3Z7eTKfq znBtRQLuFfWxhv02LHaXZ3qkSpC1djE/u3oPHxoBq31LA+EnE7XTnk2XqKg5zjiNMbI7 84Jt5zDKJq971B+M5CSuv8WJ1BNxUGg2c8xfJj8OJiRClk238PHToDm5FdSaj+/bpZx9 5Q682n3rsA9QXyCNsMT+TlErkdvksM+KGWsusXIAI2fg9gi5XXN5lKrMZy+wHyPbCRCn ogsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=WjIUgnj0ivj2kCA+zeoEAIrlTEtI0z8cyBtHfnrTuFo=; b=LZqIZipLjNiMQ0BDJ9Sj+fv8ZbzidzZ2p/EJRtwHgNbD//sI3mqo2s68UMl75G7wdZ CPWDRk6yItsyJU1gxnPEgdSy5Wv9HPVJYI2NWhyGUz1iiURyi/Rzrrmo47yKolYLli3K Bt+N5gh29+aXSGwpz236fwpetAlaGkxRFiJ93DU9cPRE2y2N7CZVtHrGqpu4u8NSaFTm 8aNj24h9Q+U1oc390Mce9i+ZAdy/95Pv+d3iXBtjtQldq0FPLmRDRqICrn9/saqW8No3 3GrqexXkACAX0UZXCQeVhBw1Qi0Qm1xZ/0d7XRtaN5anEH/WUSI31mXO4cA/kj14esCV 9Q0w== X-Gm-Message-State: AKS2vOyhmenlBD44xYBTLs5mHTNuh0CdBH1Fl01JI13FTx4HCHvjuQxr PL8OkhPI2jj+QL/lEbtl+jwJEpSF0pTs X-Received: by 10.55.114.2 with SMTP id n2mr14025913qkc.157.1497643440634; Fri, 16 Jun 2017 13:04:00 -0700 (PDT) MIME-Version: 1.0 Received: by 10.237.63.234 with HTTP; Fri, 16 Jun 2017 13:03:40 -0700 (PDT) In-Reply-To: References: From: Claus Ibsen Date: Fri, 16 Jun 2017 22:03:40 +0200 Message-ID: Subject: Re: [HEADS UP] Camel clustering bits To: dev Content-Type: text/plain; charset="UTF-8" archived-at: Fri, 16 Jun 2017 20:04:07 -0000 Hi Thanks. As we introduced a new package in camel-core, do you mind adding a package.html for javadoc, and I think you may need to add it to the pom.xml as well for the javadoc plugin On Fri, Jun 16, 2017 at 5:39 PM, Luca Burgazzoli wrote: > First bits merged > > --- > Luca Burgazzoli > > > On Thu, Jun 15, 2017 at 11:05 AM, Nicola Ferraro wrote: >> +1 >> >> Really a great work Luca. It's completely separated from the route policy >> so that we can also implement the generic master component on top of it. >> But it can also be used for other purposes by just implementing a listener >> interface. The cluster view is also a clean way to monitor the cluster >> status. >> >> You have also shown how to clusterize the whole context (all routes) using >> the route policy factory, and route policies can also be set at route level. >> >> So, merge it and I'll implement the Kubernetes cluster service with this >> new spec! >> >> >> >> On Wed, Jun 14, 2017 at 3:49 PM, Claus Ibsen wrote: >> >>> +1 >>> >>> Great work Luca. Its good to see this coming in camel-core, as we now >>> have many more Camel components that does clustering and leader >>> elections. It makes good benefit to have some common reusable code >>> from camel-core. >>> >>> >>> >>> On Wed, Jun 14, 2017 at 11:36 AM, Luca Burgazzoli >>> wrote: >>> > Hello, >>> > >>> > I've been working on CAMEL-11362 to create a leader election service >>> > in recent times and I've ended up with some initial bits of a >>> > potential clustering service for Camel [1]. >>> > >>> > So fare there are a few simple interfaces: >>> > - CamelClusterService >>> > - CamelClusterView >>> > - CamelClusterMember >>> > >>> > The CamelClusterService is just a regular camel service and is >>> > responsible to create views of the cluster; a view is like a "group" >>> > with its own set of resources like a leader/services/etc and i.e. >>> > broadcast of messages should not go beyond its borders, etc; how the >>> > view is mapped then depends on the underlying technology used so it >>> > can be a group in atomix/jgroups, a path in zk/etcd, a map in >>> > hazelcast/infinispan, etc. >>> > >>> > As today the View API is limited to leader election and topology >>> > events (member joining/leaving the view) and I've build a generic >>> > RoutePolicy and RoutePolicyFactory on top of them [2][3]. A future >>> > work may be to add support for service discovery, load balancing ad >>> > more. >>> > >>> > I also started the implementation of camel-atomix based on the >>> > atomix.io project which offers some easy to use APIs for distributed >>> > systems so an implementation of the API can be found here [4] and a >>> > test here [5]. >>> > >>> > >>> > Feedback is very welcome. >>> > >>> > >>> > [1] https://github.com/lburgazzoli/apache-camel/tree/ >>> CAMEL-11362/camel-core/src/main/java/org/apache/camel/ha >>> > [2] https://github.com/lburgazzoli/apache-camel/blob/ >>> CAMEL-11362/camel-core/src/main/java/org/apache/camel/ >>> impl/ha/ClusteredRoutePolicy.java >>> > [3] https://github.com/lburgazzoli/apache-camel/blob/ >>> CAMEL-11362/camel-core/src/main/java/org/apache/camel/impl/ha/ >>> ClusteredRoutePolicyFactory.java >>> > [4] https://github.com/lburgazzoli/apache-camel/tree/ >>> CAMEL-11362/components/camel-atomix/src/main/java/org/ >>> apache/camel/component/atomix/ha >>> > [5] https://github.com/lburgazzoli/apache-camel/blob/ >>> CAMEL-11362/components/camel-atomix/src/test/java/org/ >>> apache/camel/component/atomix/ha/AtomixRoutePolicyTest.java >>> > >>> > >>> > --- >>> > Luca Burgazzoli >>> >>> >>> >>> -- >>> Claus Ibsen >>> ----------------- >>> http://davsclaus.com @davsclaus >>> Camel in Action 2: https://www.manning.com/ibsen2 >>> -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2