知乎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
为什么我回答的题一直在审核中?
一般答案会在三个小时内审批通过,发布给你,通过。我可以查看复习的结果。如果你的答案总是在审查中,它应该少于三个小时,所以让别着急,慢慢等。他将在三个小时内通过审查,所以不要担心。;不要担心他的疏忽。如果它三个小时后?一切都会解决的。