知乎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
gitlab和github区别?
相似之处:两者都是基于web的git仓库,进步很大。某种程度上,gitlab是仿照github设计的。它们都提供了一个共享开源项目的平台,为开发团队提供了一个集中的云存储场所,用于存储、共享、发布和合作开发项目。差异:
如果github使用私有仓库,需要付费,gitlab可以在上面建立私有免费仓库。
gitlab允许开发团队对他们的代码仓库有更多的控制。与github相比,gitlab有很多特点:(1)允许免费设置仓库权限。(2)允许用户选择共享一个项目的部分代码。
原文标题:公司gitlab搭建后怎么使用 知乎APP的技术架构是什么样的?,如若转载,请注明出处:https://www.zhaogao888.com/news/26333.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赵高号」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。