Hey Michael,

Great thanks. I will try out near cache.

Also is it too much to ask you or John to consider adding a Topic
abstraction in Geode. Since the mechanics are already there I guess it can
be done relatively easily.

Regards

On Tue, Nov 15, 2016 at 9:27 PM, Michael Stolz <mst...@pivotal.io> wrote:

> You can still have a near cache embedded into your app using the
> client/server model of GemFire. Just declare the Region on the client side
> to be CACHING_PROXY and it will keep a local cache that can be updated from
> changes on the servers.
>
> --
> Mike Stolz
> Principal Engineer, GemFire Product Manager
> Mobile: 631-835-4771
>
> On Tue, Nov 15, 2016 at 12:47 AM, Amit Pandey <amit.pandey2...@gmail.com>
> wrote:
>
>> Also for clarification I was planning to do it for a couple of replicated
>> caches.
>>
>>
>>
>> On Tue, Nov 15, 2016 at 10:58 AM, Amit Pandey <amit.pandey2...@gmail.com>
>> wrote:
>>
>>> Thanks John and Michael.
>>>
>>> I can use client/server no problem.
>>>
>>> However my reason to use an embedded Geode was that based on my
>>> experience with other memory Grids its always faster to have it embedded.
>>> And I have some requirements for extremely low latency so I thought it
>>> would have saved some time and given better latency than having the
>>> client/server model.
>>>
>>> On Tue, Nov 15, 2016 at 9:15 AM, John Blum <jb...@pivotal.io> wrote:
>>>
>>>> @Mike - correct me if I am wrong, and I wouldn't recommend this, but...
>>>>
>>>> You could emulate a pub/sub system even with peers by taking advantage
>>>> of a Subscription
>>>> <http://geode.incubator.apache.org/docs/guide/reference/topics/cache_xml.html#subscription-attributes>
>>>>  [1]
>>>> policy on peer *Regions* (REPLICATE or PARTITION, either or).  I.e. a
>>>> Region's Subscription policy controls what data is replicated between them,
>>>> which in effect, could serve a similar purpose to topics and what data
>>>> events a peer Region receives.  Then a CacheListener registered on the
>>>> Region could process events when entries (of interests expressed through
>>>> the Region Subscription policy) are updated.
>>>>
>>>> Of course, this is a superficially limited approach and not advisable
>>>> for any practical use of a Region's Subscription policy, IMO.  First, you
>>>> would need to pre-populate the Region with keys (for events) you are
>>>> interested in.  Then, you would set the Subscription interest-policy to
>>>> "cache-content" where your peer would then be notified of updates from any
>>>> other peer also defining the same Region and, as well, also storing the
>>>> same key/value.  So, as you can see, this is not a intended use of this
>>>> feature, but it is doable.  You can read additional information here
>>>> <http://geode.incubator.apache.org/docs/guide/developing/events/configure_p2p_event_messaging.html>
>>>>  [2].
>>>>
>>>> As @Mike points out, a better approach it to use the client/server
>>>> topology
>>>> <http://geode.incubator.apache.org/docs/guide/topologies_and_comm/cs_configuration/chapter_overview.html>
>>>>  [3]
>>>> and Register Interests
>>>> <http://geode.incubator.apache.org/docs/guide/developing/events/configure_client_server_event_messaging.html>
>>>>  [4],
>>>> or better yet, use CQs
>>>> <http://geode.incubator.apache.org/docs/guide/developing/continuous_querying/chapter_overview.html>
>>>>  [5].
>>>>
>>>> Hope this helps.
>>>>
>>>> Cheers,
>>>> John
>>>>
>>>>
>>>> [1] http://geode.incubator.apache.org/docs/guide/reference/t
>>>> opics/cache_xml.html#subscription-attributes
>>>> [2] http://geode.incubator.apache.org/docs/guide/developing/
>>>> events/configure_p2p_event_messaging.html
>>>> [3] http://geode.incubator.apache.org/docs/guide/topologies_
>>>> and_comm/cs_configuration/chapter_overview.html
>>>> [4] http://geode.incubator.apache.org/docs/guide/developing/
>>>> events/configure_client_server_event_messaging.html
>>>> [5] http://geode.incubator.apache.org/docs/guide/developing/
>>>> continuous_querying/chapter_overview.html
>>>>
>>>>
>>>> On Mon, Nov 14, 2016 at 2:57 PM, Michael Stolz <mst...@pivotal.io>
>>>> wrote:
>>>>
>>>>> Ok Got it.
>>>>> But Peer caches can't do pub/sub unless they go to the extra trouble
>>>>> of setting up a pool, whereas clients get a pool automatically.
>>>>>
>>>>> --
>>>>> Mike Stolz
>>>>> Principal Engineer, GemFire Product Manager
>>>>> Mobile: 631-835-4771
>>>>>
>>>>> On Mon, Nov 14, 2016 at 3:02 PM, John Blum <jb...@pivotal.io> wrote:
>>>>>
>>>>>> Well, what I think Amit means (correct me if I am wrong) is the Geode
>>>>>> embedded peer cache use case, meaning the application is also a peer 
>>>>>> cache
>>>>>> in the cluster, while not the most common UC (nor maybe recommended in 
>>>>>> most
>>>>>> UCs), it is a valid UC none-the-less.
>>>>>>
>>>>>> It is to have your application participate a peer in the Geode
>>>>>> cluster by simply constructing a peer Cache using the CacheFactory
>>>>>> <http://geode.incubator.apache.org/releases/latest/javadoc/org/apache/geode/cache/CacheFactory.html>
>>>>>>  [1],
>>>>>> and setting the locators property have your application join existing
>>>>>> cluster, something like so...
>>>>>>
>>>>>> Cache peerCache = new CacheFactory().set("locators",
>>>>>> "<host>[<port>]").set(..)...create();
>>>>>>
>>>>>> You can also do this in SDG with...
>>>>>>
>>>>>> <util:properties id="geodeProperties">
>>>>>>  <prop key="name">MyApplication</prop>
>>>>>>  <prop key="mcast-port">0</prop>
>>>>>>  <prop key="log-level">${geode.log.level:config}</prop>
>>>>>>  <prop key="locators">${geode.locators.host-port:localhost[10334]}</
>>>>>> prop>
>>>>>>  <prop key="start-locator">${geode.locator.embedded.host-port:}</prop
>>>>>> >
>>>>>> </util:properties>
>>>>>>
>>>>>> <gfe:cache properties-ref="geodeProperties"/>
>>>>>>
>>>>>> The <gfe:cache> element created a "peer" cache (as opposed to the
>>>>>> <gfe:client-cache> element).
>>>>>>
>>>>>> You are then free to create Regions used by your application as
>>>>>> necessary.
>>>>>>
>>>>>> I have examples of both GemFire peer and client/server configurations
>>>>>> here
>>>>>> <https://github.com/jxblum/pivotal-gemfire-clientserver-examples> [2]
>>>>>> and here
>>>>>> <https://github.com/jxblum/contacts-application/tree/apache-geode>
>>>>>> [3] (see configuration examples).
>>>>>>
>>>>>> Hope this helps.
>>>>>>
>>>>>> Cheers,
>>>>>> John
>>>>>>
>>>>>> [1] http://geode.incubator.apache.org/releases/latest/javado
>>>>>> c/org/apache/geode/cache/CacheFactory.html
>>>>>> [2] https://github.com/jxblum/pivotal-gemfire-clientserver-examples
>>>>>> [3] https://github.com/jxblum/contacts-application/tree/apache-geode
>>>>>>
>>>>>>
>>>>>> On Mon, Nov 14, 2016 at 11:28 AM, Michael Stolz <mst...@pivotal.io>
>>>>>> wrote:
>>>>>>
>>>>>>> Geode clients have the ability to registerInterest(key) which works
>>>>>>> a lot like a topic.
>>>>>>>
>>>>>>> Not sure what you mean by using Geode embedded and with a cluster of
>>>>>>> external processes, but what I THINK you're asking is, can you use the
>>>>>>> Geode client/server model where the client is embedded into your
>>>>>>> application process and the servers that are responsible for holding all
>>>>>>> the data are in a separate cluster. The answer is YES, that is the most
>>>>>>> common configuration for Geode usage.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Mike Stolz
>>>>>>> Principal Engineer, GemFire Product Manager
>>>>>>> Mobile: 631-835-4771
>>>>>>>
>>>>>>> On Sat, Nov 12, 2016 at 12:41 PM, Amit Pandey <
>>>>>>> amit.pandey2...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi Guys,
>>>>>>>>
>>>>>>>> Is there any example of public subscribe with geode?  Hazelcast and
>>>>>>>> Ignite seem to have topics, is there any such thing in Geode.
>>>>>>>>
>>>>>>>> Also I want to use Geode embedded. Can I use it with a cluster of
>>>>>>>> external processes as well.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> -John
>>>>>> 503-504-8657
>>>>>> john.blum10101 (skype)
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> -John
>>>> 503-504-8657
>>>> john.blum10101 (skype)
>>>>
>>>
>>>
>>
>

Reply via email to