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