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

Checking Arabic Relevance with Apache Solr

Content websites need a system to ensure the relevancy between the page category and the content that show on it. Therefore, to ensure high data quality, data warehouses must validate and cleanse incoming data from users. OpenSooq.com is one of Arabic content website that desperately needs such system, it is a leading classifieds ads website in the Middle East and North Africa. The website which is available in the Arabic language serves more than billion page views per month,

Continue Reading

Using SO_REUSEPORT Flag In Multi-Processes UDP Server

SO_REUSEPORT is a new flag available in Linux 3.9+ that allows several threads to bind the same port simultaneously instead of having to race for the same socket, having the kernel round-robin between them. And this was intended to improve the performance of multi-threaded network server applications running on top of multi-core systems.

The real application of this feature should be when sometimes a worker is stalled by a blocking operation, which does not only affect connections that the worker

Continue Reading

DAS: Distributed Analytics System for Arabic Search Engines

Today’s successful organizations are data driven. At Opensooq we have tens of engineers, analysts, and data scientists who crunch petabytes of data everyday to provide a great experience for our users. We execute at massive scale using data to connect our millions of users in global classified.

Opensooq has published a paper in IEEE, We introduce the fault-tolerant Distributed Analytics System (DAS) for analyzing big data collected from search engines in Arabic. This system consists of three main

Continue Reading

Manage Cronjobs Over Multiple Servers

Diglett is a cron management system that manages all your cronjobs without modifying crontab. Handles locking, logging, error emails, and more. This project was created from the need of managing hundreds of tasks ( scheduled tasks) over multiple servers.

Why Diglett ?

Let’s assume that you have the following projects :

  1. projectA : 3 Servers
  2. projectB : 2 Servers
  3. projectC : 4 Servers

And each one of these project has his own multiple cronjobs that only on one of its servers. And

Continue Reading

Integrating Apache Solr with Play Framework in Scala

Typical IT landscape of any large size organization comprises of many different technologies. Apache Solr provides excellent ways to gather information from different types of sources, however the business may demand for integrating Apache Solr with non-J2EE based technology. Although there are various technologies available in market, the placement of Apache Solr like enterprise search engine in broader picture of organization’s IT topology is always targeted for specific areas. This area is nothing but the end user web portals.

Continue Reading

Site Footer

@ OpenSooq 2019