Welcome to the new home of the KX Community and KX Academy! Existing users are required to reset their passwords to log in

KX Community

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

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 year 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.

Start of Discussion
1 of 6 replies December 2021
Now