我稍微查了一下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上。