知乎怎么用的 知乎APP的技术架构是什么样的?
知乎APP的技术架构是什么样的?
知乎截止到2019年1月,用户数2亿、话题38万、问题2800万、解释数1.3亿。今天我们实际知乎在线部分的技术架构分享分享,来去聊聊互联网平台技术架构都判断了哪些层面~
1、微服务架构,知乎从11年就结束了微服务的探索,接触过protocolbuffers、Avro、Thrift,最终在16年确认不使用Thrift,另外不使用Consul和HAProxy才是注册中心和负载均衡。是在14年确定的这套微服务架构,另外比较稳定建议使用到了现在。所以我大家别问为什么不不建议使用gRPC了。
2、云平台,知乎有自己的内部研发的ZAE,绝大部分的大侠帮帮忙业务容器在15年就已经彻底跑在了Docker里,现在我们HBase和Kafka确实是跑在容器里的。我们最结束可以使用的是Mesos做的资源调度,现在早就快速切换到了Kubernetes。
3、布署平台,知乎的部署平台是与ZAE在一起的,实现Jenkins堆建的手动集成显卡,在MR(Gitlab)阶段手动建议使用SonarQube参与静态代码检查。布署统称测试环境,办公室环境,金丝雀1(灰度单个容器),金丝雀2(灰度20%流量),生产环境(100%流量上线)。如果不是金丝雀阶段出现错误,会自动参与回滚操作。
4、监控,我们通常实现Grafana、OpenTracing、Graphite等重新搭建了监控系统。同样自研了Halo是可以更方便的是业务方观测到服务之间的感情依赖关系、响应速率(P95,P99,P999)、出错数。而也并且了新技术的尝试,目前在业务容器监控可以使用了Prometheus。
5、存储,主要注意是MySQL、Redis、HBase;正在调研TiDB,目前有一套生产集群上线准备好给「已读」服务在用。
6、消息队列,早期在用自研的Sink,目前可以使用Kafka,同样的需要提供在Kafka的基础上包装了Beanstalkd以及任务队列更方便业务接受不使用。
7、编程语言,Python、Golang、Java、Rust。目前Python使用场景逐渐变少。Java在一些算法项目和商业系统中有建议使用。搜索系统使用的Rust格式化处理Lucene,现并诸位重新写过了类ES的集群化搜索引擎。
得到和喜马拉雅哪个好?
喜马拉雅要好。
喜马拉雅和知乎的用户仅不重合了1.86%,喜马拉雅中大部分用户是独占用户,而知乎中没有在用喜马拉雅的仅24.45%知乎53.1%,分答上则为50.2%。
知识付费领域平台会渐渐地完善与提升,人们在网络中不停的学习新的知识,思想意识也大家提升到,有一部份人略知需要付费平台的标准与要求,有一部分人也逐渐接受而且很乐意在网络免费平台中怎么学习。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。