Does this mean you want a different name for "registerInterest(key)"? This mechanism is the topic subscription mechanism in GemFire client.
-- Mike Stolz Principal Engineer, GemFire Product Manager Mobile: 631-835-4771 On Tue, Nov 15, 2016 at 3:31 PM, Amit Pandey <[email protected]> wrote: > 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 <[email protected]> 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 <[email protected]> >> 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 <[email protected] >>> > 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 <[email protected]> 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 <[email protected]> >>>>> 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 <[email protected]> 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:}</pr >>>>>>> op> >>>>>>> </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 <[email protected]> >>>>>>> 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 < >>>>>>>> [email protected]> 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) >>>>> >>>> >>>> >>> >> >
