2016 - 2024

感恩一路有你

gitlab安装教程详细使用 知乎APP的技术架构是什么样的?

浏览量:2483 时间:2023-04-07 19:41:47 作者:采采

知乎APP的技术架构是什么样的?

截至2019年1月,知乎拥有2亿用户,38万话题,2800万问题,1.3亿回答。今天分享一下知乎在线的技术架构,来谈谈互联网平台的技术架构都考虑了哪些方面~

1.微服务架构:知乎11年开始探索微服务,尝试过协议缓冲区、Avro和Thrift,16年最终确定使用Thrift,使用Consul和HAProxy作为注册中心和负载均衡。这个微服务架构是14年确定的,一直稳定使用到现在。所以唐 不要问你为什么不?;不要使用gRPC。

2.云平台:知乎内部开发了自己的ZAE。大部分线上业务容器15年已经全部在Docker运行,现在我们也在HBase和Kafka运行。我们最早用的是Mesos做的资源调度,现在换成了Kubernetes。

3.部署平台:知乎;;的部署平台是与ZAE一起。基于Jenkins构建的自动集成,SonarQube自动用于MR(Gitlab)阶段的静态代码检查。部署分为测试环境、办公环境、金丝雀1(灰色单容器)、金丝雀2(灰色20%流量)和生产环境(100%流量在线)。如果金丝雀阶段出现错误,将自动回滚。

4.监控:我们主要搭建了一个基于Grafana、OpenTracing和Graphite的监控系统。同时方便业务端通过研究Halo观察服务之间的依赖、响应时间(P95、P99、P999)和错误数。同时尝试了新的技术,目前Prometheus用于商务集装箱监控。

5、存储,主要是MySQL、Redis、HBase;TiDB正在接受调查。目前,一套生产集群已上线,供 "阅读 "服务。

6.消息队列:早期用的是自己开发的Sink,目前用的是Kafka。同时,Beanstalkd在Kafka的基础上封装成任务队列,方便业务使用。

7.编程语言,Python,Golang,Java,Rust。目前Python使用场景逐渐减少。Java用于一些算法项目和商业系统。搜索系统用的Rust重写了Luc

Win7中如何在本地搭建多人协同,开发git服务器?

安装git软件后,可以作为服务器使用。git是一种分布式版本管理软件可以通过命令用作服务器。如果你不 如果你不想使用命令,你希望有一个像github一样清晰的网络界面。可以用gogs,一个go写的开源git web服务器软件。几十兆的大小,内存占用很低。局部使用就够了。如果gogs可以 满足不了需求,可以安装Gitlab,但是占用大量服务器资源。

业务 平台 架构 监控 技术

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。