Pinboard (jm)
https://pinboard.in/u:jm/public/
recent bookmarks from jmObservability at Twitter: technical overview, part II2016-03-29T11:10:48+00:00
https://blog.twitter.com/2016/observability-at-twitter-technical-overview-part-ii
jm“Pull” vs “push” in metrics collection: At the time of our previous blog post, all our metrics were collected by “pulling” from our collection agents. We discovered two main issues:
* There is no easy way to differentiate service failures from collection agent failures. Service response time out and missed collection request are both manifested as empty time series.
* There is a lack of service quality insulation in our collection pipeline. It is very difficult to set an optimal collection time out for various services. A long collection time from one single service can cause a delay for other services that share the same collection agent.
In light of these issues, we switched our collection model from “pull” to “push” and increased our service isolation. Our collection agent on each host only collects metrics from services running on that specific host. Additionally, each collection agent sends separate collection status tracking metrics in addition to the metrics emitted by the services.
We have seen a significant improvement in collection reliability with these changes. However, as we moved to self service push model, it becomes harder to project the request growth. In order to solve this problem, we plan to implement service quota to address unpredictable/unbounded growth.
]]>pull push metrics tcp stacks monitoring agents twitter fault-tolerancehttps://pinboard.in/https://pinboard.in/u:jm/b:5023179ebada/Can HTTP/2 Replace MQTT?2015-02-25T16:43:58+00:00
http://timkellogg.me/blog/2015/02/20/can-http2-replace-mqtt/
jmMQTT definitely has a smaller size on the wire. It’s also simpler to parse (let’s face it, Huffman isn’t that easy to implement) and provides guaranteed delivery to cater to shaky wireless networks. On the other hand, it’s also not terribly extensible. There aren’t a whole lot of headers and options available, and there’s no way to make custom ones without touching the payload of the message.
It seems that HTTP/2 could definitely serve as a reasonable replacement for MQTT. It’s reasonably small, supports multiple paradigms (pub/sub & request/response) and is extensible. Its also supported by the IETF (whereas MQTT is hosted by OASIS). From conversations I’ve had with industry leaders in the embedded software and chip manufacturing, they only want to support standards from the IETF. Many of them are still planning to support MQTT, but they’re not happy about it.
I think MQTT is better at many of the things it was designed for, but I’m interested to see over time if those advantages are enough to outweigh the benefits of HTTP. Regardless, MQTT has been gaining a lot of traction in the past year or two, so you may be forced into using it while HTTP/2 catches up.
]]>http2 mqtt iot pub-sub protocols ietf embedded push httphttps://pinboard.in/https://pinboard.in/u:jm/b:1277082f29b4/webrtcH4cKS: ~ coTURN: the open-source multi-tenant TURN/STUN server you were looking for2014-10-14T16:05:52+00:00
http://webrtchacks.com/coturn/
jmLast year we interviewed Oleg Moskalenko and presented the rfc5766-turn-server project, which is a free open source and extremely popular implementation of TURN and STURN server. A few months later we even discovered Amazon is using this project to power its Mayday service. Since then, a number of features beyond the original RFC 5766 have been defined at the IETF and a new open-source project was born: the coTURN project.
]]>webrtc turn sturn rfc-5766 push nat stun firewalls voip servers internethttps://pinboard.in/https://pinboard.in/u:jm/b:cb7a2ddf8521/Moquette MQTT2014-05-29T15:35:02+00:00
https://projects.eclipse.org/proposals/moquette-mqtt
jma Java implementation of an MQTT 3.1 broker. Its code base is small. At its core, Moquette is an events processor; this lets the code base be simple, avoiding thread sharing issues. The Moquette broker is lightweight and easy to understand so it could be embedded in other projects.
]]>mqtt moquette netty messaging queueing push-notifications iot internet push eclipsehttps://pinboard.in/https://pinboard.in/u:jm/b:258866cdaffb/Scaling Realtime at DISQUS2014-04-30T10:57:02+00:00
https://speakerdeck.com/pyconslides/scaling-realtime-at-disqus-by-adam-hitchcock
jmsysctl nginx tuning go disqus realtime push eventsource websockets long-polling iframe pythonhttps://pinboard.in/https://pinboard.in/u:jm/b:92ccc8b3f3ef/The Trello Tech Stack2013-07-20T21:45:37+00:00
http://blog.fogcreek.com/the-trello-tech-stack/
jmThe Socket.io server currently has some problems with scaling up to more than 10K [jm: oh dear] simultaneous client connections when using multiple processes and the Redis store, and the client has some issues that can cause it to open multiple connections to the same server, or not know that its connection has been severed.
]]>websockets javascript architecture fog-creek trello ajax pushhttps://pinboard.in/https://pinboard.in/u:jm/b:6268d47e5202/Google Cloud Messaging for Android2013-07-02T21:20:22+00:00
http://developer.android.com/google/gcm/index.html
jmGCM is a service that allows you to send data from your server to your users' Android-powered device, and also to receive messages from devices on the same connection. The GCM service handles all aspects of queueing of messages and delivery to the target Android application running on the target device. GCM is completely free no matter how big your messaging needs are, and there are no quotas.
]]>gcm messaging android google pushhttps://pinboard.in/https://pinboard.in/u:jm/b:1031ad3a1e48/Pushover: Simple Mobile Notifications for Android and iOS2013-01-10T11:42:55+00:00
https://pushover.net/
jmios android iphone push messaginghttps://pinboard.in/https://pinboard.in/u:jm/b:375cf4cafd42/Monitor anything and get free notifications on your iPhone - amix.dk2010-06-27T09:34:02+00:00
http://amix.dk/blog/post/19526#Monitor-anything-and-get-notifications-on-your-iPhone
jmnotification push sms iphone notifohttps://pinboard.in/u:jm/b:37124cd03ffe/