cancel
Showing results for 
Search instead for 
Did you mean: 

Question : how to Integrate solacekdb.dll and run session with KX developer and q on windows 10 x64

Kovacsi
New Contributor III

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

6 REPLIES 6

LeahS
Moderator Moderator
Moderator

Hello Ori,

Great content here!

I'm going to link some helpful resources for you:

Solace interface to kdb+ 

and

Solace Installation 

Hope this helps. 

Kind regards,

Leah

LeahS
Moderator Moderator
Moderator

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 

Kovacsi
New Contributor III

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

 

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.

If using solace broker container, they are normally listed in solace PubSubStandard_singleNode.yml. 
Note: these are Solace queries rather than KX queries, and may be better directed to Solace for a better explanation, and it can be beneficial to try with the solace client examples first (directing any problems/queries/etc to Solace). The KX interface uses the same solace C APIs."
 
Kind regards, 
Leah 

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.

 

 

 

 

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.