弦圈
Related
6月22日凌晨 弦圈更新日志之弦圈焕然一新:弦圈已完全迁移回国内,迁移后续的修复bug以及优化工作也已圆满完成!这次的弦圈大更新终于告一段落...
从前几天开始 弦圈这几天可能会更换服务器和数据库,更换过程中会暂时中断服务,我就有计划将弦圈全部迁移回国内。先准备了两天,在这期间我阅读了大量关于迁移服务器和数据库的内容。终于在第二天中午,也就是20号那天,我终于开始艰难的迁移工作了。原本我是打算等备案信息修改后再开始的,但是后来了解到我其实不需要等的,于是便果断开始干活😇!首先,从最简单的迁移服务器开始,这一步对我来说是轻车熟路了。因为之前我就迁移过服务器,将轻量应用服务器换成现在的CVM云服务器。直接制作镜像,然后装到新服务器,几十分钟后,旧服务器的东西就一点不差的放到了新服务器上。过程很简单为什么还要几十分钟,因为这是跨地域迁移服务器😂。迁移完服务器后,才是重头戏——迁移数据库。这一步可以说是风险最高,也是最艰难的一步。数据是所有互联网产品中最核心的,稍微出点问题,如数据丢失,都会造成沉重的打击。因此,每一步我都非常小心。但是这并不意味着迁移的过程会十分顺利。迁移过程中,我用了两种办法进行迁移,第一种方法是在旧服务器用Django导出数据,接着在新服务器用Django导入数据。第二种方法是在旧数据库直接导出sql格式的数据,然后在新数据库导入这个sql数据。值得一提的是我没有用腾讯云提供的DTS服务,因为感觉比直接导出导入数据更复杂,而且还收钱🤑。然而,无论这两种方法,最后的结果都是迁移到新数据库后,数据显示乱码,除了英文字母,所有的中文和表情都变成了问号“?”。并且更加离谱的是,第二种方法中,从数据库直接导出的sql文件数据,居然出现了数据丢失😱!这当然是无法接受的,我换过几种导出的方式,结果都是会出现乱码+数据丢失。因此,我只得放弃第二种方法,专注第一种方法。就这样不知不觉的,弦圈已经关闭了几个小时,整整一个下午。在这期间,我尝试修改数据库的编码参数,然后删除数据重新导入,但是结果还是乱码。并且修改后重新输出编码,还是没变。我就这样反反复复折腾了很久......终于快到晚上六点时,功夫不负有心人😂,当我用服务器连接数据库修改编码时,发现编码其实已经变了,并且在我重开数据库管理页面后,原本乱码的数据,居然完完整整的全部显示了出来😃!于是,我马上开始将服务器中的媒体文件,迁移到COS存储对象中。至此,迁移工作告一段落,我重新开启了弦圈的所有服务,接着看到能正常访问的网站,我松了一口气。然而接下来,还有图片无法显示、迁移后APP很快但网站刷新很卡等问题。我一边排查原因,一边修改代码,此处略过一万字😁......终于,到现在我修复完了所有bug,优化工作也圆满完成!如今的弦圈可以说是非常丝滑,访问起来不知比原来快了多少。曾几何时,我也在为弦圈慢而头疼,尝试过无数的优化方案,但是都效果有限:最近有人反馈网站卡、打不开,我自己也试过这种情况,已再次对弦圈进行优化今天晚上弦圈服务器发生崩溃情况,已一切正常莫慌,目前判断是腾讯云的问题弦圈登录功能完成更新,之后只要登录一次便可长期保持登录直到现在我将服务器搬回国内之后,一切都揭晓了,其实答案非常简单,就是地理距离太远了😅。即使我压缩图片和文件、换更好的服务器、换独立带宽、上edgeOne CDN,这些东西加起来,都比不上直接将服务器迁回国内🤣。看来地理距离的影响属实是超出了我的想象,这就是硬伤啊......弦圈Web端可以说是我优化得最多的地方了,目前仍有一些东西没有做完,明后天接着做吧,尤其是APP的下载,也算是把以前的坑给填了。晚安玛卡巴卡😴 ( ̄o ̄) . z Z