选择自建环境的条件
网站编辑2020-09-17 11:51:20441
选择自建环境的条件,那么,具体在什么场景下我们才需要自己搭建对应的服务呢?对此主要从功能性和灵活性等方面来考虑,这也是自行搭建服务平台的相对优势。阿里云的很多云产品,如SLB、RDS、CDN等,其核心都是基于开源技术进行了封装并做了相应优化,然后形成对应的云产品。相应的封装给我们带来了相应的优势(就是2.2.1节中描述的技术方面的优势),但同时也给我们带来了相应的缺陷,比如,做了封装,必然会使很多原生态的功能和特性存在一定的使用限制,下面我们具体来看。
何为七层负载均衡?更多地称之为反向代理,大家最为熟悉的就是Nginx。何为七层反向代理/负载均衡?是因为它不只是能做七层转发,而更多的是能在七层上做很多Rewrite的七层控制等。而早期的SLB产品,连虚拟主机功能都不支持,只是可以简单地七层转发。当然,当前SLB产品已经支持虚拟主机,具有七层代表性的核心功能。如果想用Rewrite等更多七层功能,我们只能自行在ECS上搭建Nginx。
2. 连接Redis,有密码鉴权
有些客户问这个密码鉴权能不能去掉,代码中采用了一个老的Ruby框架,不支持这个鉴权,也没办法改代码。所以这时候我们只能无奈地在ECS上自己搭建主从Redis,然后结合Con-sole+DNS做高可用。
3. RDS MySQL对Myisam存储引擎的支持
在用户的业务中,需要MySQL支持Myisam存储引擎。而RDS MySQL版默认只支持Innodb的存储引擎,所以我们只能在ECS上搭建MySQL来满足业务需求。
4. 云数据库MongoDB对跨地域多副本冗余的支持
若客户对数据的安全性要求较高,并且云端和他们线下IDC做了专线打通,他们需要将云端的MongoDB数据在线下IDC中做个副本,当前云数据库MongoDB结合DTS还不支持此功能。所以我们在云端搭建了两个副本,在IDC上同步一个副本,组成MongoDB的副本集。
综上可见,有些功能是云产品没办法支持的,且当前企业没办法调整自己的业务架构及代码。这个时候基于灵活性和功能性方面的考虑,只能选择在ECS上搭建相应的服务。



