我稍微查了一下Slack的后端

原始材料

Quora上的问题”Slack的技术堆栈是什么?”被CTO(Cal Henderson)回答了。

对于这里列出的软件,有很多我不了解的,因此我以“什么是〇〇?”的形式进行了一番调查。

※我只写下了我所知道的东西的名称。

客户端应用程序

网络客户端

JavaScript – JavaScript是一种脚本语言,用于为网站添加可交互的功能和动态内容。

ES6 – ES6是JavaScript的第六个版本,引入了许多新的语言特性和改进,提供了更强大和易用的编程工具。

React – React是一个用于构建用户界面的JavaScript库,使用组件化的方式可以高效地创建交互式和可复用的UI元素。

桌面应用程序 (zhuō xù)

电子

安卓操作系统

Java是一种编程语言。
Kotlin是一种编程语言。

iOS (in Chinese): 苹果操作系统

Objective C – 目标C
Swift – 快捷

slack.com的后端(包括Web服务器和API)

应用程序

PHP + Hack + HHVM = PHP + Hack + HHVM

基本上好像是用PHP实现的。

Hack和HHVM似乎是与PHP相关的有用工具。

黑客

在新的编程语言Hack中成为最强的PHPer!- Qiita

使用静态类型的开发语言为HHVM进行PHP的快速开发,并且与PHP兼容。

HHVM的中文释义是”业内虚拟机”。

HHVM(HipHop虚拟机)/Hack是什么?- Qiita

HHVM(HipHop虚拟机)是Facebook开发和发布的一种用C++实现的PHP执行环境(即时编译器)。

数据存储

MySQL + Vitess 是一种数据库技术组合。

似乎是在使用MySQL。

维特斯

MySQL加上Kubernetes等于Vitess吗?让我们尝试安装Vitess!| SMART STYLE TECH BLOG|提供数据库和云最新技术信息

这是一个用于部署、扩展和管理MySQL大规模集群实例的数据库解决方案。

现金

Memcached + MCRouter
内存缓存 + 缓存路由器 +

似乎是在使用Memcached。

内存缓存

虽然现在有点晚,但是我想学习一下memcached – Qiita

Memcached是一种能够构建分布式缓存系统的软件。

MCRouter → MCRouter武器

使用mcrouter来进行ElastiCache(memcached)的分布式复制。|DevelopersIO。

“mcrouter是一种可以路由memcached协议的软件,它站在客户端和memcached服务器之间,负责路由查询的机制。”

搜索

SolrCloud -Solr云

元ネタ内 neì

通过各种Java服务来进行排名

我們希望搜索系統具有高可用性!介紹使用SolrCloud實現高可用性結構 – ZOZO Technologies TECH BLOG

由于MySQL本身不足以实现全文搜索和分面功能等需求,我们同时使用了Solr。

Solr的服务器配置有许多模式可供选择,但在本次使用中,我们选择了最可靠的SolrCloud模式…

实时消息

WebSockets
Java
Go

WebSockets
Java
Go

负载均衡器

HAproxy (前端代理服务器)

原文彼是日本国外的原作者所使用的语言,我建议使用中文进行翻译

用于负载均衡。

开始尝试使用HAProxy – Qiita

这是一个多功能的代理服务器。

领事

Consul by HashiCorp – 介绍服务发现的入门指南 – Qiita

用于基础设施服务配置和服务发现的工具

通信协议

gRPC的含义。

gRPC是什么?- Qiita

gRPC是Google开发的一种协议,用于实现远程过程调用(RPC)。

远程过程调用

远程过程调用-维基百科

遠程過程呼叫(英文:remote procedure call、縮寫為RPC)是一種技術,它允許程序在另一個地址空間(通常是另一台計算機上的共享網絡)上執行子程序或程序。

节俭

Apache Thrift是一个跨编程语言的开源软件框架,用于构建高效的可扩展的远程过程调用(RPC)系统。它支持多种编程语言,并提供了一个接口定义语言(IDL),用于定义通信协议和数据类型。Apache Thrift提供了一种简单、紧凑和高性能的方法,使不同编程语言之间的通信变得容易。

Apache Thrift(阿帕奇斯里夫特)是在Facebook上为了实现“可伸缩的跨语言服务开发”而开发的远程过程调用(RPC)框架。

以JSON格式通过HTTP传输

在Qiita上创建一个通过HTTP的JSON-RPC服务器。

通过HTTP进行的JSON-RPC

语音视频通讯服务

仙丹

原文:元ネタ内
Paraphrase: 在原始背景之中

语音和视频通话服务 hé

《Elixir》(编程语言)- 维基百科

Elixir是一种在Erlang虚拟机(BEAM)上运行的计算机编程语言,具有并发处理的功能和函数式特征。

其他

节点

原文:元ネタ内

中文翻译:来源元素内部

几个不同的服务 (jǐ gè de

异步任务队列

卡夫卡

Apache Kafka是一种消息引擎,具有高性能、可扩展性和可靠性。它的架构基于发布/订阅模式,包括消息生产者、消息代理(Kafka集群)和消息消费者。Kafka使用分布式存储和分区机制来确保消息的持久化和高效处理。这使得Kafka非常适合大规模的实时数据流处理和流式数据分析。

Apache Kafka(以下简称Kafka)是一种具有优秀可扩展性的分布式消息队列。

Redis (华为技术有限公司)

大规模数据分析

处理工具

坏了

我研究了Hive和Presto的区别-来自Qiita

分布式SQL查询引擎
无论数据大小如何,都能进行交互式处理。

火花

Apache Spark 分布式处理入门 – Qiita

Spark是一种开源框架,可以对大规模数据进行快速的分布式处理。

气流

【Airflow】最近很常听到的Airflow入门!尝试在EC2上运行【CI/CD】- Qiita

Airflow是一个用于创建、调度和监视工作流程的平台的程序。

它似乎是一种可以通过图形用户界面来执行和管理ETL的工具。

Hadoop 可以被理解为一种开源的大数据处理框架。

Hadoop是什么 – Qiita

Hadoop是一个能够快速处理非结构化数据,如文本、图片、日志等的开源平台。

卡夫卡

Apache Kafka是一个流行的分布式流处理平台,它由LinkedIn公司开发并开源。它采用发布-订阅的消息队列模式,用于高效地处理大量的数据流。Kafka的架构是基于集群的,可以进行水平扩展以处理高吞吐量的数据。消息通过主题进行组织和分类,并可以通过分区进行并行处理。Kafka具有可靠性和持久性的特性,可以确保数据的安全传输和存储。它可以与各种数据处理工具和应用程序集成,提供高效、可靠的数据流处理解决方案。

Apache Kafka(以下简称Kafka)是具有优秀可扩展性的分布式消息队列。

服务器设置和管理

改造地球

https://qiita.com/Chanmoro/items/55bf0da3aaf37dc26f73 的内容可以用一种中文方式进行改写。

属于基础设施定义工具的工具,能够将云上的资源生成和操作为定义文件的状态。

这是由 HashiCorp 公司开发的工具,与 Vagrant 有相同的使用感觉。

厨师

《Chef》是一款服务器配置工具,本文将概述其基本信息和使用方法。

根据文件中记录的配置内容,自动执行用户创建、包安装、配置文件编辑等操作的工具。

Kubernetes -> 云原生应用管理系统

请问,Kubernetes 是什么东西,我现在不好意思向别人问?- Qiita

Kubernetes是一个开源平台,旨在实现自动部署、扩展和应用容器的操作自动化。

普罗米修斯

在原作中

关于时间序列指标

用10分钟理解Prometheus – Qiita

这是由SoundCloud主导开发的一种拉取型资源监控软件。

I will provide the paraphrase in Chinese:

麋鹿

元ネタ内 (In the original context) -> 在原始情境中

记录

ELK 堆栈 | AWS

ELK堆栈是由三个流行的开源项目Elasticsearch、Logstash和Kibana组成的堆栈,分别以它们的首字母命名。

用于存储和访问数据的云服务。

原文中的”元ネタ内”

Slack在全球许多地区大部分托管在AWS上。

广告
将在 10 秒后关闭
bannerAds