2021.12.07 03:57 AM
hi
I try to integrate solacekdb with KX and use the C API client to interface KX with pub-sub topics examples.
I have a difficulty establish connection of the C program to the Q Solace Kdb+ library.
I asked at solace community and they answered I need a broker software, how can I integrate such a broker?
Thanks
Ori
2021.12.07 05:39 AM
Hello Ori,
Great content here!
I'm going to link some helpful resources for you:
and
Hope this helps.
Kind regards,
Leah
2021.12.07 06:21 AM
Hello again,
I followed up with an internal KX team and I will also share their feedback here:
Extra resources:
A whitepaper here: https://code.kx.com/q/wp/solace/
Examples here once installed: https://github.com/KxSystems/solace/tree/master/examples
Note: It is true that a solace broker is required. Solace messaging can not be run without a solace broker.
Tip: It is useful to start with the solace c examples and solace software to check that the solace setup including pub/sub/etc is working correctly.
Broker: https://solace.com/try-it-now/
C API (client pub/sub examples included): https://solace.com/downloads/
Some changes to the code.kx docs, https://code.kx.com/q/interfaces/solace/, are currently in the works. These specificities are mentioned in the readme/etc on github.
https://github.com/KxSystems/docs/pull/52
https://github.com/KxSystems/docs/pull/51
Hope this is helpful for you.
Kind regards,
Leah
2021.12.07 06:29 AM
Thanks Leah
I asked the same questions on Solace community and got instructions to use
it on a separate instance ( Docker or virtual or cloud ).
I will install docker desktop and attempt to deploy solace pubsub+ broker.
Do you know if from architectural point of view it is possible to operate
when host computer has the Kdb installation and deployment , and only
the broker is on virtual / container instance? or should I install Kdb+ as well
on docker container?
Thanks
Ori
2021.12.07 07:41 AM
Great question! Here is the feedback I received when I investigated this internally:
"If broker is installed in a container, and client is on the host , then it should be possible to communicate as long as the chosen port is exposed to a port on the host.
2021.12.07 07:49 AM
They can be on separate machines/environments.
You can see in the White Paper that they use Kdb+ running on an ec2 instance 'ip-172-31-70-197.ec2.internal' and it connects to Solace broker running on 'mr2ko4me0p6h2f.messaging.solace.cloud'
As long as your network settings are setup so that the 2 hosts can communicate over the needed ports then you will be successful.
2021.12.08 12:26 AM
hi rocuinneagain
Thanks for the link. it gave me a hint about using the q script to init connection.
I try to do something totally different. my goal is to create "software" type solace instance
on my local machine (windows 10 x64). I installed docker instance of solace.
how can I find the connection parameters described on the white paper (Messaging), see attached screenshot - the UI when I surf to my docker software solace page.
EMEA
Tel: +44 (0)28 3025 2242
AMERICAS
Tel: +1 (212) 447 6700
APAC
Tel: +61 (0)2 9236 5700
KX. All Rights Reserved.
KX and kdb+ are registered trademarks of KX Systems, Inc., a subsidiary of FD Technologies plc.