KX Community

Find answers, ask questions, and connect with our KX Community around the world.

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

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

    Posted by kovacsi on December 7, 2021 at 12:00 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

    kovacsi replied 1 month, 2 weeks ago 3 Members · 6 Replies
  • 6 Replies
  • leahs

    Member
    December 7, 2021 at 12:00 am

    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

    Member
    December 7, 2021 at 12:00 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

  • rocuinneagain

    Member
    December 7, 2021 at 12:00 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.

     

     

     

     

  • leahs

    Member
    December 7, 2021 at 12:00 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.

    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
  • kovacsi

    Member
    December 7, 2021 at 12:00 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

     

  • kovacsi

    Member
    December 8, 2021 at 12:00 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.

Log in to reply.