A um tempo atrás lancei uma nova ferramenta chamada LogStack que me ajudou muito a fazer o debug de aplicações web e mobile.
Esta ferramenta é um centralizar de logs que geralmente são exibidos no console das ferramentas, porém, como cada ferramenta tem uma forma de exibir isso e as vezes é muito ruim e dificultoso ficar observando e lendo na ferramenta ou na IDE, o LogStack vem para generalizar isso e deixar o desenvolvedor visualizar tudo no navegador em tempo real e com uma interface bem amigável, capaz de se adequar a um smartphone, tablet ou desktop (resumindo: layout responsível).
Agora, tecnicamente a ferramenta conta com tecnologias bem interessantes para estudo: Golang + Elasticsearch ou MongoDB.
Você pode através do arquivo de configuração escolher qual datasource usar e o LogStack possui uma API para cada ação, seja inserir, coletar estatísticas, pesquisar, etc.
O crescimento do Elasticsearch tem sido monstruoso e a maioria dos grandes sites estão usando o ES (Elasticsearch) para buscas, BigData, recomendações, etc.
Entre as empresas podemos destacar o iFood, Globo.com, GitHub, Vagas.com.br, JusBrasil, Microsoft, NASA, Mozilla, Facebook, Verizon, Adobe, Ebay, StackOverflow, Netflix, The New York Times, Mercado Libre, WordPress, Wikipedia, LinkedIn, entre outras.
Uma das palestra citadas abaixo contém por exemplo o seguinte exemplo: “Aprenda a utilizar o ElasticSearch, que ajuda o github pesquisar mais de 8 milhões de repositórios e o globo.com a fazer 180 pesquisas por segundo para 25 de milhões de pessoas por dia.”
Vou deixar alguns links que estudei para entender como essas empresas estão usando o Elasticsearch junto com outras ferramentas para obter os resultados esperados e um pouco de código em PHP, Go e Rails:
Lembrando que o Elasticsearch vai muito mais além do que apenas buscas. Com ele você tem pesquisas full text search, geo location search, análise em tempo real, dados em tempo real e mais uma infinidade de coisas, alguns usam até como banco de dados visto que ele foi feito para ter alta disponibilidade.
Quem não quer se preocupar com a criação de uma infraestrutura manualmente, pode optar pelo serviço já pronto da Amazon que usa o Elasticsearch em cima da infraestrutura da Amazon: https://aws.amazon.com/pt/elasticsearch-service/