Manabie Tech Blog

Sharing the humble technical knowledge we’re using to improve education

J4 stress test framework

Why stress test At Manabie, we have already implemented bunch of features for the business, mostly to support ERP in education domain. The traffic on production is not that high. For each cluster (of each clients), it barely reaches 100 rpc on our Grafana dashboard, and everything looks safe. But no, we realize that in our roadmap, we have a plan to merge all the cluster into a multi-tenant cluster. We don’t know if the cluster merge will affect some resources, maybe there are extensively used features that we will not be aware of (features team are rapidly adding more APIs, as the business grows) and we may encouter performance issues unprepared. Read more →

Set up NATS multi-tenant in golang

In this blog post, we will learn how to set up NATS Multi-tenancy in golang. NATS-Jetstream NATS has a built-in distributed persistence system called Jetstream which features new functionalities and higher qualities of service on top of the base Core NATS functionalities and qualities of service. Jetstream was created to solve the problems identified with streaming technologies today. Some technologies address these better than others, but no current streaming technology is truly multi-tenant, horizontally scalable,… Today I just talk how we can set up NATS multi-tenancy in golang. Read more →

Self-hosting Unleash with Kubernetes

In this blog post, we will learn how to self-host Unleash in a Kubernetes cluster. Why feature toggles? While developing new features for our end-users, we often encounter these 2 problems: Features are not developed and rolled out in a single night. It often takes several days or even weeks before a feature is fully developed, tested, and deployed. In such cases, we usually have to deploy a piece of that feature to production, and we would need to hide that piece until the feature is fully completed and ready. Read more →