登录 |  注册
首页 >  中间件·网站架构 >  Elasticsearch初学者入门学习笔记 >  Elasticsearch 在互联网公司中的应用场景

Elasticsearch 在互联网公司中的应用场景

elasticsearch.jpg

      刚接触Elasticsearch的朋友,或多或少会遇到一个问题,Elasticsearch在实际公司应用中除了搜索到底能做什么?国内现在有大量的公司都在使用 Elasticsearch,包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。除了搜索之外,结合Kibana、Logstash、Beats,Elastic Stack还被广泛运用在大数据近实时分析领域,包括日志分析、指标监控、信息安全等多个领域。它可以帮助你探索海量结构化、非结构化数据,按需创建可视化报表,对监控数据设置报警阈值,甚至通过使用机器学习技术,自动识别异常状况。

es.png

一、国外互联网公司应用场景

1)Github(一个面向开源及私有软件项目的托管平台)。

GitHub是世界上最大的代码托管平台,超5千万开发者正在使用。Github使用Elasticsearch搜索20TB的数据,包括13亿的文件和1300亿行的代码”。Github在2013年1月升级了他们的代码搜索,由solr转为Elasticsearch,目前集群规模为26个索引存储节点和8个客户端节点(负责处理搜索请求)。

2)Foursquare

Foursquare是一家基于用户地理位置信息的手机服务网站,并鼓励手机用户同他人分享自己当前所在地理位置等信息。“实时搜索5千万地点信息?Foursquare每天都用Elasticsearch做这样的事“。

3)SoundCloud

“SoundCloud使用Elasticsearch来为1.8亿用户提供即时精准的音乐搜索服务”。SoundCloud是一家德国网站,提供音乐分享社区服务,成长很快,Alexa世界排名已达第236位。你可以在线录制或上传任何声音到SoundCloud与大家分享,可在线上传也可以通过软件客户端来上传音乐文件,没有文件大小限制,但免费版限制上传音频总长不可超过2个小时播放时长,每首歌曲限最多100次下载。SoundCloud允许音乐通过Flash播放器方式嵌入到网页中。

4)Fog Creek(美国的一家软件公司)

“Elasticsearch使Fog Creek可以在400亿行代码中进行一个月3千万次的查询“。

5)StumbleUpon

”Elasticsearch是StumbleUpon的关键部件,它每天为社区提供百万次的推荐服务“。StumbleUpon是个能发现你喜欢的网页的网站,进去时先注册,注册完就选择你感兴趣的东西,它会自动帮你推荐一些网页,如果你喜欢这个网页就点喜欢按钮,按 stumble按钮就会推荐下一个网页。目前其数据量达到 25亿,基本数据存储在HBase中,并用 elasticsearch建立索引,elasticsearch 在其中除了用在搜索功能还有在推荐和统计功能。之前他们是使用solr作为搜索,由于solr满足不了他们的业务增长需要而替换为 elasticsearch。

还有很多国外的公司都用到了es,这里就不过多举例了, 下面列列国内大家都熟悉的互联网公司。

二、国内互联网公司应用场景

  • 京东到家订单中心 Elasticsearch 演进历程

  • 携程Elasticsearch应用案例

  • 滴滴Elasticsearch多集群架构实践

  • Elasticsearch实用化订单搜索方


国内现在有大量的公司都在使用 Elasticsearch,包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。

除了搜索之外,结合Kibana、Logstash、Beats,Elastic Stack还被广泛运用在大数据近实时分析领域,包括日志分析、指标监控、信息安全等多个领域。

它可以帮助你探索海量结构化、非结构化数据,按需创建可视化报表,对监控数据设置报警阈值,甚至通过使用机器学习技术,自动识别异常状况。

1)京东到家订单中心

京东到家.jpg京东ES架构.png

Elasticsearch 做为一款功能强大的分布式搜索引擎,支持近实时的存储、搜索数据,在京东到家订单系统中发挥着巨大作用,目前订单中心ES集群存储数据量达到10亿个文档,日均查询量达到5亿。随着京东到家近几年业务的快速发展,订单中心ES架设方案也不断演进,发展至今ES集群架设是一套实时互备方案,很好的保障了ES集群读写的稳定性。

2)携程酒店订单Elasticsearch应用案例

携程.png

携程ES架构

携程酒店日均订单量达到百万,由于对这预计4亿的数据量还需按照预定日期、入住日期、离店日期、订单号、联系人姓名、电话、酒店名称、订单状态……等多个条件查询。所以简单按照某一个维度进行分表操作没有意义,Elasticsearch分布式搜索储存集群的引入,就是为了解决订单数据的存储与搜索的问题。

3)滴滴Elasticsearch的应用

Elasticsearch 在滴滴有着非常丰富的使用场景,例如线上核心的打车地图搜索,客服、运营的多维度查询,滴滴日志服务等近千个平台用户。

先看看滴滴 Elasticsearch 单集群的架构:滴滴在单集群架构的时候,写入和查询就已经通过 Sink 服务和 Gateway 服务管控起来。

滴滴架构.png

滴滴几乎所有写入 Elasticsearch 的数据都是经由 kafka 消费入到 Elasticsearch。kafka 的数据包括业务 log 数据、mysql binlog 数据和业务自主上报的数据,Sink 服务将这些数据实时消费入到 Elasticsearch。

4)Elasticsearch实用化订单搜索方案

搜索引擎中,主要考虑到Elasticsearch支持结构化数据查询以及支持实时频繁更新特性,传统订单查询报表的痛点,以及Elasticsearch能够帮助解决的问题。

订单搜索架构.png

订单搜索系统架构

整个业务线使用服务化方式,Elasticsearch集群和数据库分库,作为数据源被订单服务系统封装为对外统一接口;各前、后台应用和报表中心,使用服务化的方式获取订单数据。

订单搜索架构2png.png

原文链接: https://www.yukx.com/elasticsearch/article/details/2094.html 优科学习网Elasticsearch 在互联网公司中的应用场景

<<上一课程
下一课程>>
推荐文章
  • 简介:Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为ElasticStack的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。版本说明Java环境:JDK1.8.0Elasticsearch:7.2.1OS环境:wi
  • Java9、Java10、Java12和Java13均为短期版本。我们建议您不要使用以上版本,除非您准备好应对这种快速发布节奏。有关JVM支持,请参见Oracle的时间表,网址为:http://www.oracle.com/technetwork/java/eol-135779.html**Elas
  • Elasticsearch是由ShayBanon发起的一个开源搜索服务器项目,2010年2月发布。迄今,该项目已发展成为搜索和数据分析解决方案领域的主要一员,广泛应用于声名卓著或鲜为人知的搜索应用程序。此外,由于其分布式性质和实时功能,许多人把它作为文档数据库。Elasticsearch看名字就能大
  • XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。据最新统计, 该系统已调度约100万次,表现优异。新接入应用推荐使用最新版本,因为经过数十个版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的优化和提升,核心功能更加稳定高效.
  • 主题的创建创建主题的更加推荐采用脚本的方式,位置为:./bin/kafka-topics.sh#下面是通过命令指定分区数和副本数./kafka-topics.sh  --zookeeper localhost:2181  --create   --topic testTopic --partitio
  • 首先让我们开始实现配置,然后我们将我们的设置迁移到单节点多代理配置。希望你现在可以在你的机器上安装Java,ZooKeeper和Kafka。在迁移到KafkaClusterSetup之前,首先需要启动ZooKeeper,因为KafkaCluster使用ZooKeeper。启动ZooKeeper打开一
学习大纲