2016 - 2024

感恩一路有你

知乎app怎么离线缓存 知乎APP的技术架构是什么样的?

浏览量:1189 时间:2023-04-30 07:26:21 作者:采采

知乎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的集群化搜索引擎。

有什么好用的,清理软件?

WIN10最方便的清理工具是系统自带的各种管家、助手等等等等都用各种各样的捣鼓你装,总之已经没有必要,不过有风险。我的体会是,彻底没必要安装好第三方清理软件,最放心的清理工具是WIN10系统随机软件的。再说注册表,永远千万不能定期清理,需要清理软件如果说没用啊的可能没有用,但注册表清理并又不能增加性能和速度。我曾经的很短段时间用著名的ccleaner做清理,直到有一天用它清理过之后才发现有些软件又不能用。相对来说,火绒附带的需要清理是比较好放心的,最起码它不可能误删东西。

业务 系统 容器 建议 架构

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