刚进来的第一周,感觉自己像个打杂的。
接触到了jd官方开源的智臻链平台,看了看整体架构,多半都是自己写的,甚至连负载均衡和广播机制,高可用都是自己写的算法。
详情可以去看官网介绍。
最开始的任务主要是看代码,然后将网关层部门的http代理设计成分布式的,我直接想到的就是nginx,在入口加一层负载均衡,方法应该是可行的,然后又用ab测了tps,TPS大约100多。
总的收获如下:
nginx
详细点来说,也是第一次知道nginx的负载均衡可以在一个节点多端口上去配置负载均衡。
方法如下:
一般情况下,我们都是yum 安装完nginx都是在./etc/nginx下,来到nginx.conf,在http层配置如下:
upstream xxx{
server [ip1]:[port1] weight=1;#设置代理服务器地址,并设置权重
server [ip2]:[port2] weight=1;
server [ip3]:[port3] weight=1;
}
server{
...
location / {
proxy_buffering off;
proxy_pass http://xxx;#设置反向代理
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
但是一般为了可维护性高一些,或者说不让nginx定死,去通过这几个ip提升xxx的并发,一般我们都会将上面设置放在conf.d里。
然后主配置文件有个include会自动扫描conf.d下所有的 *.conf,然后就加载进来了,所以我们在conf.d下的设置应该全部明明为 *.conf
但是监听端口要换一下,比如之前是80,现在要换成81。
这样我们就可以通过81端口访问到我们的服务了,利用postman测试即可。
部署
说到部署就奇怪,毕竟我平时都是nohup,但是公司是有一键部署的,多余的就不说了。
也是前人写好的脚本,对shell不是特别熟,改天读一下再总结。