Use docker to run go project

Docker is a powerful tool that enables developers to create, deploy and run applications in a containerized environment. Using Docker to run Go projects has many advantages, including the ability to isolate your application from the underlying operating system, simplifying the deployment process, and allowing for greater scalability and flexibility. In this guide, we will […]

Install WSL for windows 10

1/ Enable feature Windows Subsystem for Linux Head to Control Panel > Programs > Turn Windows Features On Or Off. Enable the “Windows Subsystem for Linux” option in the list, and then click the “OK” button. Restart computer Now you can type on console: wsl –help 2/ Download ubuntu 18 from Microsoft Store or open […]

Make a binary file or script file run on startup on ubuntu

To make a binary file run on boot, you can create a startup script that will run the binary file when the operating system starts. The exact process for creating a startup script depends on the operating system you’re using. Here’s an example for a Linux operating system using the systemd init system: Create a […]

Explicit ssl bumping with Squid

To perform explicit SSL bumping with Squid, you need to perform the following steps: Generate a SSL certificate and key: You can either generate a self-signed certificate or obtain one from a certificate authority. The certificate and key will be used by Squid to encrypt and decrypt the traffic. Install and configure Squid: Squid is […]

Explicit ssl bumping with HAProxy

Basic guide About Explicit SSL bumping Explicit SSL bumping also known as “SSL interception,” is a feature of some reverse proxies and security appliances that allows the proxy to decrypt, inspect, and re-encrypt SSL/TLS encrypted traffic. The proxy acts as a man-in-the-middle, decrypting incoming SSL/TLS traffic and re-encrypting it before forwarding it to the destination […]

Nodes and Clusters

It is best practice to create clusters with at least three nodes to guarantee reliability and efficiency Every cluster has one master node, which is a unified endpoint within the cluster, and at least two worker nodes Here, we discover some points of nodes and clusters. Let’s begin Nodes and clusters are two of the […]

RPC, gRPC, protocol buffers

What is Remote Procedure Call (RPC) Remote Procedure Call is a software communication protocol that one program can use to request a service from a program located in another computer on a network without having to understand the network’s details. RPC is used to call other processes on the remote systems like a local system. […]

Varnish Exporter

Input Output REF https://github.com/jonnenauha/prometheus_varnish_exporter

Caching with varnish

Input Output REF https://varnish-cache.org

gRPC

Input Output REF https://200lab.io/blog/grpc-la-gi-vu-khi-tang-tai-microservices/

Database gateway

Input Output

API gateway

Input 2 server node Output 2 server is served in a cluster Traffic need to balance for 2 server node API gateway with Nginx API gateway with HAProxy REF

Design whole technical system for a Stock Exchange enterprise such as HoSE

Input Database connection: 2000 TPS: 1500 Output:

Design whole technical system for a shipping company such as Grab

Input Database connection: 2000 TPS: 1500 Output:

Design whole technical system for a bank company such as HSBC

Input Database connection: 2000 TPS: 1500 Output:

Hacker Roadmap

https://github.com/Kennyslaboratory/Ultimate-Hacker-Roadmap   REF https://roadmap.sh/backend https://golang.org/doc/ https://engineering.videoblocks.com/web-architecture-101-a3224e126947 Natas https://overthewire.org/wargames/natas/  

DevOps Roadmap

  REF https://roadmap.sh/devops https://roadmap.sh/backend https://golang.org/doc/ https://engineering.videoblocks.com/web-architecture-101-a3224e126947  

RestAPI with GO

What is in this article ? In this artivle, we’ll try to build a bookstore REST API that provides book data and performs CRUD operations. Let’s start by initializing a new Go module. This will enable us to manage the dependencies that are specifically installed for this project. <pre> Note: you can use the command […]

Webserver with nginx and apache

What is in this article ? How to install nginx on centos 7 Some of the basics of NGINX as a refresher Logging, explains that monitoring for errors and access patterns are fundamental to running a server. Rewrites, covers how rewrites work and also specific implementations of many of the common scenarios. It will be […]

Build for global scale : message broker with rabbitMQ and MQTT

What is in this article ? Install rabbitMQ server Connecting to a broker Producing messages Consuming messages Broadcasting messages Guaranteeing message processing Distributing messages to many consumers Using message properties Messaging with transactions Handling unroutable messages Install rabbitMQ server on centos7 You can see a download list here https://www.rabbitmq.com/install-rpm.html#downloads Some basic step to install can […]

Use raspberry as a server: install centos os on raspberry

Reference https://pimylifeup.com/raspberry-pi-centos/

Build for global scale : gRPC and Go

Reference https://grpc.io/docs/languages/go/quickstart/

Build for global scale : socket.io-redis, redis, kafka, rabbitMQ

Skip to content CONTACT US SIGN IN Otonomo Logo Redis, Kafka or RabbitMQ: Which MicroServices Message Broker To Choose? When using asynchronous communication for Microservices, it is common to use a message broker. A broker ensures communication between different microservices is reliable and stable, that the messages are managed and monitored within the system and […]

Build CDN for a global scale system

Some basic questions about CDN and what for 1. What are the seven requirements of end users that relate to Content Networking? The seven requirements of end users that relate to Content Networking are performance, availability, anonymity, ubiquity/accessibility, security, privacy, and personalization/relevancy. 2. What are the nine requirements of service providers that relate to Content […]

Swift Generic Best Practise

How to use Named Parameters in swift

Build a microservice system with Go lang in practise

Backend Roadmap

  REF https://roadmap.sh/backend https://golang.org/doc/ https://engineering.videoblocks.com/web-architecture-101-a3224e126947  

Install and use Jenkins on Centos 7

# About Jenkins Jenkins is an open-source automation server that automates the repetitive technical tasks involved in the continuous integration and delivery of software. Jenkins is Java-based and can be installed from Ubuntu packages or by downloading and running its web application archive (WAR) file — a collection of files that make up a complete web application […]