抽奖网站架构
一.项目介绍
这是很久之前线上彩票还让做的时期,入职的一家公司,总共40人左右,运维2个,其余大部分是开发。
除了世界杯期间服务压力很大,扩增很多机器,其余时间机器也就10多台。
二.阿里云线上
只有app,进入app后一个页面代表一个程序,比如用户页面,用户点击登陆后往一个域名发送数据,域名对应的是一个nginx,他做负载均衡,将请求转发给后端的java程序。
java程序使用zookeeper和kafka做程序发现和消息列队,存储数据用redis集群和mysql,存储图片等用oss。
除了OSS和一些RDS,其它都是在ECS上自建的服务,这个相对省钱很多,也更加锻炼人。
使用jenkins将java或者php程序打包并发布到远程主机上,有一个nexus仓库和gogs代码仓库。没有使用pipeline,只是用自由风格和maven风格项目,进行打包并用ssh插件发布。
使用redis-browser和kafka-manager这2个可视化工具来在浏览器上操作redis集群和kafka集群,zabbix来监控服务的状态。
二.线下
机房有5台机器,用exsi和vcenter来构建虚拟化环境,虚拟出本地测试环境和一些辅助机器。
一台vpn服务器,由路由器设置nat转换,用于员工不在公司来操作内部服务器和线上服务器。
2台dns服务器,主从结构,用于公司内部自定义的域名和作为缓存服务器,加速上网。
一台服务器做wiki使用,用于存储密码,一些安装文档接口文档等。
宙斯负载均衡器,用于内部环境的负载,一个域名访问,后面可以多台机器。这样dns中很多域名都指向负载均衡器。
当访问公司内部域名,wiki.xx.cn时,dns指向负载均衡器的ip,负载均衡器发现是访问的wiki,而wiki有3台,那就轮询让你访问第一台,类似nginx了。当第一台坏了,会把请求转发到第二台上。

浙公网安备 33010602011771号