我们平时接触的产品都是7*24小时不间断服务,产品中的api接口肯定也是高可用的,下面我向大家分享一下互联网公司api接口高可用的网络部署方案。
我们一般通过http://le.quwenzhe.com/api/apps/search域名发起对接口的请求,请求发起后,集团DNS会把域名解析为ip,然后通过集团的nginx代理到产品私有的nginx代理服务器。
产品私有nginx代理服务器一般会有n台,都是通过集团nginx代理服务器转发请求,这里我们拿产品私有nginx的一台为例进行说明。
产品私有nginx接收到集团nginx代理服务器转发的请求后,会把请求转发到n个web服务器,每个web服务器都是相同的代码,通过Jenkins构建到各个web服务器。
每个web服务器上会部署一个gbalancer代理,这样我们配置文件的数据库连接地址会变为127.0.0.1:3306,gbalancer代理上会挂在n个MySQL数据服务,提供mysql数据库服务的高可用。
elasticsearch服务我们会搭建一个服务集群,通过web服务调用elasticsearch的集群服务。
到此,我们便完成了对高可用api接口的网络部署方案。看似一个很简单的http://le.quwenzhe.com/api/apps/search服务调用,其背后都有强大的技术团队作为服务支持。