如何构建一个安全,稳定,高效的互联网平台体系架构

阅读: 评论:0

如何构建⼀个安全,稳定,⾼效的互联⽹平台体系架构
如何构建⼀个安全, 稳定, ⾼效的互联⽹平台体系架构
构建⼀个⽐较完善的互联⽹平台体系架构,⼴义上可以归纳为:⾼可⽤性,⾼扩展性,⾼性能,⾼安全性。
⾼可⽤性
⾼可⽤性⼜可以分为硬件⾼可⽤和软件⾼可⽤,其最根本的原理就是解决单点问题。
硬件⾼可⽤:服务器、⽹络设备等都应该避免单点问题
服务器电源应该选择双电源,服务器⽹卡尽量选择双⽹卡绑定,服务器应预留⼀定数量的备⽤机,服务器磁盘配置RAID。
核⼼⽹络设备如防⽕墙,核⼼层交换机都应做主备冗余。现在主流⽹络设备都能通过 HSRP 或 VRRP 来做到⼼跳检测,⼀旦⼀台设备出现问题,备机会⾃动接管当前服务。
数据存储中⼼的使⽤:可以有效解决⼤数据存储及数据冗余完整。
软件⾼可⽤:软件应⽤的APP,如WEB,都应去除单点,同时也可解决负载均衡的问题。
硬件负载均衡设备如F5
软件负载均衡,软件七层反向代理如现在⽐较流⾏的NGINX,四层LVS,HA软件keepalive,heartbeat等
平台负载均衡,引⽤⼀些负载均衡的调度平台,如:AWS,阿⾥云,百度云等
源代码的⾼可⽤:应采⽤版本管理控制系统(如:git)来控制代码的开发及发布,代码有重⼤BUG可随时回滚,例如某个稳定的特定版本就令起分⽀来保存。
企业核⼼的资源来源于数据库,所以数据库必须消除单点,以 MySQL为例,可以做mysql主从复制,⼀主多从或者双主多从或者是集。
为了更好的去单点,应该将负载均衡调度器、缓存数据库、⽂件服务器,都应该进⾏集,不过这样的维护量就会⼤很多。
⾼扩展性
扩展把握关键问题,优先满⾜关键问题的性能,确定最⼩功能集。就是先确定好最核⼼最⼩的功能集先,并且要保证性能。
在数据建模时,可以考虑不使⽤外键索引,在数据库性能问题上,不得不分表分库时,这个还是有⽤。
不适⽤主键id作为表关联,这也是考虑到以后分表分库的可能性,解决⽅法外键可以⽤uuid。
在考虑模块划分的时候,也要考虑到未来2~5年系统的变化情况,可以使⽤单实例、集、分布式、分布式 + 集。
也可以参考如下:
⾼性能
合理规划⽹络架构及⽹络性能优化
操作系统优化: 内核优化,⽂件系统优化等。
改⽤⽂件服务器,可以同时提⾼性能和⾼可⽤性,同时也解决了同步和更新问题。
应⽤程序优化:nginx,tomcat等应⽤的性能优化。可以⽤nginx做反向代理和静态⽂件服务器,也可以⽤nginx做负载均衡,但是⽤云平台会更⽅便简单,⽽且也有记录流量。
代码优化,经常做review,double check,尽量优化逻辑和循环,减少IO。
数据库优化:读写分离,设计主从数据库,确定数据库的读写⽐例;选择相应的存储引擎;SQL优化;适当增加索引,提⾼查询速度;多explain SQL,以达到索引的有效;性能参数优化;横向纵向分表;业务分库。
缓存机制:如CDN缓存静态页⾯或者图⽚,memcache,Redis,MongoDB等nosql可⽤于缓存数据库的热数据。也可选择将热数据缓存到读写速度⽐较快的SSD硬盘或闪存卡,提升IOPS性能。
页⾯静态化:应该设计静态服务器,⽤于访问静态内容,提⾼性能,可以⽤nginx。
对于图⽚较多的⽹站,也可将图⽚服务器实⾏多域名加载
⾼安全性
⽹络安全:ACL,VLAN,QOS,防攻击,账号安全管理,使⽤https。
系统安全: iptables; tcpwrapper;账户安全管理;密钥;RSA加密认证;给真正的服务器做反向代理,并且只允许代理服务器的访问,例如给每个server加⼊nginx做反向代理服务器,server只允许这个nginx访问,以得到隐藏真实server的效果。
应⽤程序及代码安全:数据加密;加⼊⽤户权限管理;session有效性验证;可以加⼊⾃⼰的验证流程。
数据库安全:访问数据库IP权限管理,只允许server访问;账号管理;增删改查权限管理。

本文发布于:2023-05-05 14:55:14,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/88503.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据库   优化   服务器   管理
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图