经过深入的讨论与细致的设计,最终网站架构如图1所示。该项目架构逻辑包括五层,分别为用户层,Haproxy前端负载均衡层,Nginx动静分离层,动态资源服务器层,后端数据库层。
图1 A公司企业网站架构图
根据项目的基本目标,现规划以下具体实施要求:
1、构建DHCP服务器,为公司员工配置网络参数;
2、网站域名为www.ujiuye.com,在DNS服务器上能解析到对应的IP地址;
3、访问www.ujiuye.com/discuz可访问Discuz论坛,能登录论坛系统可讨论技术问题;
4、访问www.ujiuye.com/oa可访问到PHPOA系统,并能登录系统实现在线办公;
5、访问www.ujiuye.com/shop可访问到优就业商城,并能登录操作购买所需物品;
6、访问www.ujiuye.com/log可以访问日志监控图形页面,要求只有管理员才能登录并查看日志信息;
7、配置防火墙,对访问网站的行为进行安全加固。
该项目具有以下技术亮点:
1、具有高负载特性,能同时承担大量用户的技术交流与购物活动;
2、能避免单点故障,保证业务7x24小时可用;
3、能快速回应用户对图片的请求;
4、可使用网页的方式实时跟踪用户的访问,尤其是不安全客户端的访问;
5、轻松实现网站内容的一致性目标。
根据网站设计目标,提出以下解决方案:
1、使用具有高负载特性的Haproxy作为前端负载均衡调试器,将客户的请求分发到三台Nginx服务器处理;
2、为了避免单点故障,使用Keepalived双机热备技术实现负载均衡调度器的高可用;
3、三台Nginx实现动静分离与负载均衡,一方面处理客户对静态资源的请求,一方面将客户对动态资源的请求均衡转发给动态资源服务器;
4、动态资源服务器使用LAMP网站架构运行使用PHP语言编写的PHPOA办公系统以及Discuz论坛系统,使用Apache Tomcat运行使用JAVA语言编写的优就业商城;
5、为了能够实时监控用户访问的信息以及服务器运行状态,使用Rsyslog日志服务器管理日志信息,并能通过Loganalyzer完成日志信息的分析;
6、所有动态资源服务器都使用MySQL/Mariadb数据库组存储用户的相关信息以及网站相关数据;
7、使用共享存储NFS服务实现网站网页的共享存储,以达到实现网页内容一致性的目标;
8、对于公司内用户,通过配置DHCP服务器来分配网络参数。