公司gitlab搭建后怎么使用 知乎APP的技术架构是什么样的?
知乎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)允许用户选择共享一个项目的部分代码。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。