Uusi AWS-testiympäristö / New AWS test-site

81 views
Skip to first unread message

Solita Teijo

unread,
Aug 30, 2018, 6:23:35 AM8/30/18
to meri.digitraffic.fi
Hei

Olemme jollain aikataululla siirtymässä aws:n ja tämän johdosta olemme avanneet testattavaksi osoitteen meri-aws-test.digitraffic.fi


Rajapintoja tuolta saa testata ja kertoa ongelmista / poikkeavuuksista verrattuna vanhaan ympäristöön.  Kyseessä on siis testiympäristö, joten se saatetaan päivittää tai rikkoa millä hetkellä hyvänsä, mutta pyrkimys on pitää se toimintakunnossa.

--

We are moving towards AWS.  You're welcome to test the new site at http://meri-aws-test.digitraffic.fi/api/v1/metadata/documentation/swagger-ui.html.  Please feel free to test it and report any differences, bugs or problems you encounter. Also note, that this is a test environment, so it might be updated or broken at any given time.

Ystävällisin terveisin / Best regards
– Digitraffic asiakastuki / Digitraffic support  –

Solita Teijo

unread,
Sep 6, 2018, 5:35:38 AM9/6/18
to meri.digitraffic.fi
Hello

Uudessa ympäristössä aiomme jakaa reaaliaikatiedot mqtt:llä.  Mqtt:n topicit mahdollistavat yksittäisen aluksen tai kaikkien alusten tietojen vastaanoton.  Esimerkki javascript-client löytyy täältä:

vessels/<mmsi>/metadata
vessels/<mmsi>/locations
vessels/status

Testatkaa ja kertokaa tuloksista.

---

You can now test new mqtt-interface to get realtime-feed of vessel data.  You can find a simple client here:

vessels/<mmsi>/metadata
vessels/<mmsi>/locations
vessels/status

Feel free to test and communicate your findings.

Kyösti Ranto

unread,
Sep 8, 2018, 10:37:43 AM9/8/18
to Solita Teijo, meri.digitraffic.fi
Hi,

First findings about mqtt service: 

- Seems to work fine after successful setup. Delay gets down to a few seconds which is nice.
- Seems that only websocket transport is supported. Is TCP planned?
- Does not support SSL/TLS. Hopefully support for secure connection is planned in order to enable access from pages loaded over HTTPS.
- Is not compatible with paho-mqtt python client because of case sensitive HTTP header interpretation. The python client sends HTTP headers as follows:

websocket_headers = {
"Host": "{self._host:s}:{self._port:d}".format(self=self),
"Upgrade": "websocket",
"Connection": "Upgrade",
"Origin": "https://{self._host:s}:{self._port:d}".format(self=self),
"Sec-WebSocket-Key": sec_websocket_key.decode("utf8"),
"Sec-Websocket-Version": "13",
"Sec-Websocket-Protocol": "mqtt",
}

Those headers result in "Websocket handshake error". Hacking the last two to "...WebSocket..." fixes the error.

cheers,
Kyösti


--
Sait tämän viestin, koska olet tilannut seuraavan Google-ryhmän: meri.digitraffic.fi.
Jos haluat peruuttaa tämän ryhmän tilauksen ja sen sähköpostiviestien vastaanottamisen, lähetä sähköpostia osoitteeseen meridigitraffi...@googlegroups.com.
Voit lähettää viestejä tähän ryhmään käyttämällä sähköpostiosoitetta meridigi...@googlegroups.com.
Jos haluat tarkastella tätä keskustelua verkossa, siirry osoitteeseen https://groups.google.com/d/msgid/meridigitrafficfi/915ab673-f7fe-44d7-8d21-ec7bc04f4c79%40googlegroups.com.
Lisää vaihtoehtoja on osoitteessa https://groups.google.com/d/optout.

Solita Teijo

unread,
Sep 11, 2018, 2:45:00 AM9/11/18
to meri.digitraffic.fi
Hi

Thanks for you input.  Here is some answers.

We are investigating the possibility to use TCP for MQTT and it's more likely to be supported than not.
Currently there is not support for SSL/TLS, but support is coming before we go to production.
The broker we are using is Mosquitto.  I don't know what the protocol says about case sensitivity.

What do you think about current topic-naming, is it good or should it be changed?

Ystävällisin terveisin / Best regards
– Digitraffic asiakastuki / Digitraffic support  –

Kyösti Ranto

unread,
Sep 11, 2018, 2:02:23 PM9/11/18
to Solita Teijo, meri.digitraffic.fi

Thanks for the answer.

SSL is essential in production. Good that it is in plans. I'm not expecting TCP transport but as it is the default in paho-mqtt, I had to figure out what's wrong in the configuration.

According to RFC 7230, HTTP header field names are case-insensitive. As far as I understand, your broker should allow headers sent by paho-mqtt python client. 

I don't have any specific opinion about the topic names. They look good to me.

Today, MQTT went crazy. onConnect is called in loop, hundreds of times per second, and the testMqtt.html test page gets stuck.

cheers,
Kyösti



--
Sait tämän viestin, koska olet tilannut seuraavan Google-ryhmän: meri.digitraffic.fi.
Jos haluat peruuttaa tämän ryhmän tilauksen ja sen sähköpostiviestien vastaanottamisen, lähetä sähköpostia osoitteeseen meridigitraffi...@googlegroups.com.
Voit lähettää viestejä tähän ryhmään käyttämällä sähköpostiosoitetta meridigi...@googlegroups.com.
Jos haluat tarkastella tätä keskustelua verkossa, siirry osoitteeseen https://groups.google.com/d/msgid/meridigitrafficfi/12b5fc9b-435c-42f0-83f8-6a7f708c638c%40googlegroups.com.

Solita Teijo

unread,
Sep 13, 2018, 6:00:23 AM9/13/18
to meri.digitraffic.fi
Yesterday I tried to update to Mosquitto 1.5 and it caused connection problems so now it's back to 1.4.15.  I also upgraded to newer linux distribution with newer libwebsockets, which I believe should fix the header problem.  Can you please confirm this?

Ystävällisin terveisin / Best regards
– Digitraffic asiakastuki / Digitraffic support  –

Kyösti Ranto

unread,
Sep 13, 2018, 12:12:08 PM9/13/18
to Solita Teijo, meri.digitraffic.fi
Hi,

Yes. Mixed-case headers seem to work now. Thanks for the fix!

But: Something has changed since yesterday or day before. Earlier, location data used to be from zero to just a few seconds old for almost any moving vessel as the messages over mqtt kept it fresh. Since yesterday the data can be tens of seconds old from the start (load over REST) and despite of mqtt updates, it hardly ever gets as fresh as earlier. Furthermore, the MQTT connection seems to be quite unreliable now.

So what happened? I hope you'll find the reason and can fix it.

cheers,
Kyösti




--
Sait tämän viestin, koska olet tilannut seuraavan Google-ryhmän: meri.digitraffic.fi.
Jos haluat peruuttaa tämän ryhmän tilauksen ja sen sähköpostiviestien vastaanottamisen, lähetä sähköpostia osoitteeseen meridigitraffi...@googlegroups.com.
Voit lähettää viestejä tähän ryhmään käyttämällä sähköpostiosoitetta meridigi...@googlegroups.com.
Jos haluat tarkastella tätä keskustelua verkossa, siirry osoitteeseen https://groups.google.com/d/msgid/meridigitrafficfi/0cff591e-b118-4a7a-89c5-b7049182f0f2%40googlegroups.com.

Kyösti Ranto

unread,
Sep 14, 2018, 9:10:41 AM9/14/18
to Solita Teijo, meri.digitraffic.fi
Just a little bit more information:

It seems to be a performance issue. I've subscribed to all vessel locations and metadata. The mqtt cannot serve as fast as it should. You can see how difference var in testMqtt.html grows bigger almost constantly.

If I subscribe to only a few specific vessels, everything is fine.

cheers,
Kyösti

Solita Teijo

unread,
Sep 21, 2018, 12:54:54 AM9/21/18
to meri.digitraffic.fi
Hi again

We are currently valuating Amazon MQ, you can find updated testclient here:

It seems that the latency is very low.  Downside is that there is no anonymous access.

Solita Teijo

unread,
Oct 16, 2018, 8:27:26 AM10/16/18
to meri.digitraffic.fi
Hello hello!

We have changed the addresses, please check the updated testclient from here:

Reply all
Reply to author
Forward
0 new messages