The Kuloo infrastructure runs on Google Cloud Kubernetes:
Features of architecture:
- Blue / Green deployments - allows for quick deployment transitions and rollbacks.
- Docker image - generated locally by bash script file, uploaded to Google container storage and then script updates yaml deployment files and then applies the changes using kubectl.
Custom Load Balancer:
- Failover to alternate server without loss of Websocket connection.
- Blue/Green server connection by user or channel.
- Immediate blue / green transitions without any change to config files. Automatic movement of clients to appropriate servers.
Software Design
JNX Custom Javascript Framework
- Panel layout
- Model View Controllers
- Dynamic Forms
Redis Pub / Sub
This is the backbone that allows the cluster of servers to work together. Among other things, it contains:
- User sessions
- Realtime analytics counts
- Load balancer traffic monitoring
- Temporary web site edits
Through the use of the publish / subscribe features of redis the following functionality is enabled:
- User session hand off from server to server.
- Real time updates to all screen objects: articles, views, likes, etc.
- VueJS object updates via Websocket Streams.
Chrome Extension
This is an extension that can be used by all users of the Kuloo app. It provides the following functionality:
- Displays Kuloo icon in browser extensions bar.
- Displays the number of unread articles that are in the user's inbox (updated in realtime).
- Indicates to channel owners if any articles need approval.
- Can be clicked to save current page as a new article in the user's channel. Allows selection of folders and the addition of an initial comment.
Comments
0 comments
Please sign in to leave a comment.