Thanks, I will check it out.

With best regards,
Ashish

On Thu, Apr 16, 2020, 5:13 PM Gregory Green <ggr...@pivotal.io> wrote:

> Hello Ashish,
>
> Hope all is well.
>
> FYI - here is a spring based example;
>
> https://github.com/vmwarepivotallabs/dataTx-geode-circuitbreaker-demo
>
> On Apr 16, 2020, at 6:48 AM, aashish choudhary <
> aashish.choudha...@gmail.com> wrote:
>
> 
> I think i don't need to create ClientCache again in the catch block as i
> am using separate pools for 2 clusters. Updated the code.
>
> https://github.com/userac/GeodeExample/blob/master/src/main/java/Example.java
> With Best Regards,
> Ashish
>
>
> On Thu, Apr 16, 2020 at 3:01 PM aashish choudhary <
> aashish.choudha...@gmail.com> wrote:
>
>> Here is the simple code example that i tried for client side failover.
>> For my use case i will always try to connect to primary cluster first and
>> if it fails it should failover to secondary. I understand it may slow
>> things as i will be creating a connection on each request but there will be
>> no issue in getting response. Not sure if there is any better way to do
>> this. I should probably add something to stop bouncing back and forth if
>> both clusters are down.
>>
>>
>> https://github.com/userac/GeodeExample/blob/master/src/main/java/Example.java
>>
>>
>> Let me know what you think.
>>
>> With Best Regards,
>> Ashish
>>
>>
>> On Wed, Apr 15, 2020 at 4:32 PM aashish choudhary <
>> aashish.choudha...@gmail.com> wrote:
>>
>>> Replying to old thread.
>>> Currently I am trying test client side failover programtically. Are
>>> there any working examples /best practices for this?
>>>
>>> Idea is to failover to different secondary cluster if the primary fails.
>>> I will try to share what i am able to do so far.
>>>
>>> But if anyone has a working example for this then it would be great.
>>>
>>> With best regards,
>>> Ashish
>>>
>>> On Tue, Apr 16, 2019, 9:37 PM Anthony Baker <aba...@pivotal.io> wrote:
>>>
>>>> The pattern I’ve seen used looks like this:
>>>>
>>>> User application (e.g. browser) >> Global load balancer >> Service
>>>> instances (e.g. tomcat) >> Geode cluster
>>>>
>>>> If you have the Geode clusters connected via WAN, you can redirect
>>>> traffic to different data centers by tweaking the LB config.
>>>>
>>>>
>>>> Anthony
>>>>
>>>>
>>>> On Apr 16, 2019, at 2:58 AM, aashish choudhary <
>>>> aashish.choudha...@gmail.com> wrote:
>>>>
>>>> So with WAN we will be active/active all time. I agree hardest is to
>>>> figure out when data centers are actually down. We are evaluating multiple
>>>> approaches as of now.
>>>>
>>>> On that note would you recommend(possibility any since connection is
>>>> mostly tcp/ip) using some load balancer NGINX or something to handle data
>>>> center failure.
>>>>
>>>> With best regards,
>>>> Ashish
>>>>
>>>> On Tue, Apr 16, 2019, 12:54 AM Michael Stolz <mst...@pivotal.io> wrote:
>>>>
>>>>> We have come across these kinds of use-cases.
>>>>> The hardest part is figuring out that one of the data centers is
>>>>> ACTUALLY down.
>>>>>
>>>>> If you can work out a way to be active/active at all times and guard
>>>>> against update collisions by using data structures that protect themselves
>>>>> (e.g. CRDTs) that would make the whole thing a lot easier.
>>>>> --
>>>>> Mike Stolz
>>>>> Principal Engineer, GemFire Product Lead
>>>>> Mobile: +1-631-835-4771
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Apr 15, 2019 at 1:19 PM aashish choudhary <
>>>>> aashish.choudha...@gmail.com> wrote:
>>>>>
>>>>>> Thanks Mike. Our use case is heavily reliant on Geode(no fallback to
>>>>>> database) and business expectation is that there will be no downtime to
>>>>>> consumer application because of complete failure on one data center. 
>>>>>> Which
>>>>>>
>>>>>> Have you came across such cases with Geode/Gemfire?
>>>>>>
>>>>>> Regarding catching those exceptions and making a switch I agree with
>>>>>> you that it would be tricky to make switch as you explained.
>>>>>>
>>>>>> Even with rolling restart there will be a downtime and some manual
>>>>>> steps will be required to accomplish that.
>>>>>>
>>>>>> With best regards,
>>>>>> Ashish
>>>>>>
>>>>>> On Thu, Apr 11, 2019, 10:18 PM Michael Stolz <mst...@pivotal.io>
>>>>>> wrote:
>>>>>>
>>>>>>> Yes you can catch the exceptions for no locators available and no
>>>>>>> servers available.
>>>>>>> You will probably want to wait for a period of time after first
>>>>>>> seeing this, because the cluster might be restarting and will be back in
>>>>>>> just a minute or so.
>>>>>>>
>>>>>>> The switch-over can be tricky without just restarting your client.
>>>>>>>
>>>>>>> All saved references to everything having to do with ClientCache,
>>>>>>> Cache, Region, or anything else that communicates need to be forgotten 
>>>>>>> and
>>>>>>> re-established.
>>>>>>> This can be particularly challenging if you are using a framework
>>>>>>> that might remember some of this stuff on your behalf.
>>>>>>> I have usually recommended rolling restart of the clients with the
>>>>>>> new locator addresses because it is sure to work and not have any
>>>>>>> hidden issues with calls in progress or subscriptions or anything like 
>>>>>>> that.
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Mike Stolz
>>>>>>> Principal Engineer, GemFire Product Lead
>>>>>>> Mobile: +1-631-835-4771
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Apr 11, 2019 at 9:31 AM aashish choudhary <
>>>>>>> aashish.choudha...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Thanks Mike.
>>>>>>>>
>>>>>>>> Yes we are using wan replication. We want the switch to be an
>>>>>>>> automatic step. As soon as prod cluster fails we need to switch to cob
>>>>>>>> without any restart of the client application.
>>>>>>>>
>>>>>>>> One way we are thinking of is probably catching those locator not
>>>>>>>> available sort of exception and then make a switch. Any thoughts?
>>>>>>>>
>>>>>>>>
>>>>>>>> With best regards,
>>>>>>>> Ashish
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Apr 11, 2019, 1:42 AM Michael Stolz <mst...@pivotal.io>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> If the data centers are far apart you will want to use the
>>>>>>>>> bi-directional GemFire WAN Gateway to replicate between clusters.
>>>>>>>>>
>>>>>>>>> The trickiest part is figuring out when to switch. If you already
>>>>>>>>> have a mechanism for that then that's great.
>>>>>>>>>
>>>>>>>>> Once you know for sure you want to switch, the easiest way is to
>>>>>>>>> install a gemfire.properties file on the client machines that points 
>>>>>>>>> to the
>>>>>>>>> locators in the other data center and restart the clients.
>>>>>>>>>
>>>>>>>>> There is a programmatic way to do it but is a lot more code and
>>>>>>>>> work than this way.
>>>>>>>>>
>>>>>>>>> Feel free to ask any additional questions here.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Mike Stolz
>>>>>>>>> Principal Engineer, GemFire Product Lead
>>>>>>>>> Mobile: +1-631-835-4771
>>>>>>>>>
>>>>>>>>> On Wed, Apr 10, 2019, 2:01 PM aashish choudhary <
>>>>>>>>> aashish.choudha...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> We have a scenario where in we need to switch over to a different
>>>>>>>>>> data center automatically when any failure occurs in the existing 
>>>>>>>>>> cluster.
>>>>>>>>>>
>>>>>>>>>> Any recommendations?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> With best regards,
>>>>>>>>>> Ashish
>>>>>>>>>>
>>>>>>>>>
>>>>

Reply via email to