Blog Posts

Opensooq Gloom : URL Shortener Service

Opensooq Gloom is an opensource service that takes long URLs and squeezes them into fewer characters to make a link that is easier to share, tweet, or email to friends. Users can create these short links through the web interface, or they can programatically create them through the API. With the Gloom you can write applications that use simple HTTP methods

Continue Reading

On-the-fly ad-hoc docker compose development stack

The problem

In this blog post we are going to discuss an application stack that uses MongoDB, Redis and NodeJS. We want a single docker compose command that launches the entire stack, still we want to the developer be able to use his/her favorite IDE to edit the source code without having to rebuild docker images. We call this on-the-fly ad-hoc stack because it does not involve building any docker images or hosting a docker registry, the reason for this

Continue Reading

Running Kubernetes on AWS EC2

This article will walk-through installing and setting up Kubernetes on AWS instances step by step, This article not for people looking for fully automated command to setup Kubernetes cluster.

Note: This article not setup Kubernetes with SSL, and by default you should know AWS already.

Kubernetes Cluster Details:
1-To start install Kubernetes cluster you will need the below:
2- 3 AWS micro instances.
3- Kubernetes 1.9.0
4- Docker 1.13
5- Etcd 3.2
6-

Continue Reading

Building Opensooq: A Progressive Web App

There have been a few turning points in the history of the web platform that radically changed how web apps were built, deployed and experienced. Ajax was one such pivot that led to a profound shift in web engineering and user experience. It allowed web applications to be responsive enough to challenge the conventional desktop apps. The same shift is now underway on mobile where web apps can finally be as performant, immersive, and engaging as native apps.

Google

Continue Reading

Availability-zone-aware DNS Service-Discovery with DNSMasq and Ansible

In opensooq we heavily implement SOA (Service-oriented architecture) and we have a lot of Microservices. And since we have a very scalable dynamic environment that keeps changing, we need some sort of service discovery.

DNS Service Discovery allow us to access our microservices and supportive services by name. It’s not an alternative to load-balancing but a complement to that. As a rule of thumb we place two load-balancers in each availability, and we have DNS round-robin load-balancing for the load

Continue Reading

Opensooq Chat : The Success Story You Didn’t Know

The OpenSooq team is very careful to provide our users with special features that help them have a better experience. However, we believe in innovation. Changing times means changing how we work. We encourage innovation at all levels of our work to help us deliver more features for our users.

 

OpenSooq launched a new feature, Chat. It’s a robust tool that gives users the power to communicate real time with buyers to sell or buy faster. The days leading

Continue Reading

Solr – InMemory

Apache Solr is one of the most popular search engine nowadays, as known it’s a Java application. In this article, we will share with you the result of hosting solr data in the memory.

To achieve this experiment, we have created a tmpfs and copied Solr application ( with all data ) into the tmpfs folder. At, the same time had another instance (with same hardware and software specs) that running Solr on disk.

* Note : this is Solr 4.8 

The

Continue Reading

Moving from MongoDB 2.6 Cluster to MongoDB 3.2 Replica Set

Last year MongoDB released v3.2 of their database, with the same storage engine that has been released in v3.0 WiredTiger. As known, WiredTiger performs document-level locking during writes touting to offer a huge improvement over locks on the entire database or collection in the previous 2.6 version.

We did many researches on storage engine selection, especially in the comparison between Percona Mongo32-Server that supports multiple storage engines such as InMemory,RocksDB,PerconaFS and the official Mongo3.2 that supports InMemory and WiredTiger.

Here is

Continue Reading

Running SolrCloud 5.X on Docker with 3 steps

Docker is all the rage at the moment! It was recently selected as Gartner Cool Vendor in DevOps. As you may already know, Docker is a platform to build and deploy applications as self-contained units. Those units, called containers, can be executed consistently on a developer laptop or production server. Since containers include all their dependencies, they are truly portable. And, compared to normal virtual machine images, Docker containers are much more lightweight because they don’t need as much

Continue Reading

NGINX TCP/UDP Load Balancer with Memcached

Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. It is the soul of web, it’s capable of turning almost any application into a speed-demon.

But what happens sometime that you can not afford the 20-30GB RAM Servers to cache your data. Also, it is not a smart idea to depend on a single node to cache all your data (single point of failure).

In this article,

Continue Reading

Site Footer

@ OpenSooq 2019