想跟大家唠唠这个“更新地址”我是咋选的。这事儿,说大不大,说小不小,但你要是没整明白,后面能给你折腾个半死。
最初的瞎折腾
我刚上手搞这些东西的时候,哪想那么多。就觉得,有个地方能放更新文件不就行了?随便找了个服务器,IP地址往那一撂,程序里写死,完事儿!
...
想跟大家唠唠这个“更新地址”我是咋选的。这事儿,说大不大,说小不小,但你要是没整明白,后面能给你折腾个半死。
最初的瞎折腾
我刚上手搞这些东西的时候,哪想那么多。就觉得,有个地方能放更新文件不就行了?随便找了个服务器,IP地址往那一撂,程序里写死,完事儿!
结果?
- 服务器一换,IP变了,得,所有用户的程序都连不上了,全找我。
- 有时候服务器抽风,或者带宽不够,更新慢得要死,用户又是一顿抱怨。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
那段时间,真是焦头烂额的。动不动就得改程序,重新编译,再让用户手动下载新版去覆盖。你说烦不烦?
痛定思痛,开始琢磨
被坑了几次之后,我就琢磨了,这不行,不能老这么被动。我得找个“稳当”的地址,一个轻易不会变的,而且最好还能灵活点儿的。
我想过几个方案:
- 用自己的主域名下的一个路径: 比如 `*/updates/`。这个比直接用IP强点,至少域名是我的,IP换了,域名解析改改就行。但问题是,如果主站服务器压力大,或者我想把更新服务单独剥离出来,这就有点儿不方便了。
- 用一些免费的托管服务: 比如某些网盘或者代码托管平台。这个,免费是免费,但不靠谱!指不定哪天人家服务停了,或者改规则了,我又得抓瞎。再说了,显得也不专业不是?
琢磨来琢磨去,我觉得还是得从“控制权”和“灵活性”这两个角度下手。
我现在的选择和理由
我总算是摸索出一条自己觉得比较靠谱的路子了。说白了也简单:
我选择用一个自己控制的、专门的子域名。 比如,如果我的主站是 `*`,我就会搞一个类似 `*` 或者 `*` 这样的子域名专门用来做更新地址。
为啥这么干?
- 控制权在我手里: 这个子域名是我自己注册的域名下的,我想让它指向哪个服务器IP,就指向哪个。就算我后台的更新服务器换了八百遍,这个给用户程序里写死的 `*` 是不需要变的。我只需要去改一下域名解析就行了,用户那边完全无感。
- 灵活性大大提高:
- 我可以把这个子域名指向一个专门的、高性能的服务器,甚至是指向CDN(内容分发网络),这样用户下载更新包的速度就有保障了。
- 如果以后更新服务的架构变了,比如从单个服务器变成集群,或者用了啥新的云服务,我只需要调整这个子域名的解析配置,对用户端程序完全透明。
- 主站和更新服务互不影响。主站服务器就算维护,也不影响更新服务的下载。
- 看起来也专业点: 用自己的域名,总比用一些乱七八糟的地址要显得正规一些。
具体操作上,就是在我的域名服务商那里,添加一条A记录或者CNAME记录,把这个子域名指向我存放更新包和更新信息文件(比如一个XML或者JSON文件,里面写着最新版本号、下载链接啥的)的服务器或者CDN服务地址。
这样一来,程序里只需要认准这个 `*` 就行了。我后台想怎么折腾,就怎么折腾,用户那边稳如泰山。
这只是我个人的一点实践经验,也不是说非得这样。但对我来说,这么选,确实省了不少事儿,也少了很多半夜被叫起来救火的情况。分享给大家,希望能有点儿用!