嗯,在这里再发一遍,期待有更多流量吧~

每一个有趣的网站都值得被发现。

最近利用业余时间搭建了一个网站,有趣盲盒网站 GoSomewhere.Run, 正如域名一样,奔向某处,而某处,正是那一个个有趣的网站。

有趣的网站怎么定义呢?那些好玩的、新奇的、有创意的、有特定功能的等,都可以称为有趣的网站。而这些网站一般都是很小众的,很难被大家发现。

本文将从背景,方案和实现进行简单介绍。

背景

在网上偶然遇到一个网站,有趣网址之家 – 收藏全球最有趣的网站,网站运营有十余年了,收录了很多有意思好玩的网站,但是我发现有两个问题,一是网站有205页(截至2022年5月),每页10个文章,有多达2000个有趣的网站,用户根本不可能去挨页去翻,去寻找自己感觉好玩的网站;二是一些收录的网站,因为域名过期、无人维护、广告太多、在国外加载很慢等原因,导致有很多无效的网站,影响用户体验。

综合以上以上原因,我设计搭建了一个有趣网站盲盒。

就像是哆啦A梦的口袋,收集了有趣好玩的网站,用户每次点击都会随机产生一个网站,犹如时光机一般,将用户带到某处。

那么,现在有类似的网站吗?查了查,还真找到了两个。一个是国外的 https://sharkle.com/,一个是国内的网站任意门https://gate.ofo.moe/。体验了下,是我想要的网站类型。那还有必要再造一个轮子?查看网站源码,我发现了一个秘密,他们都是用固定的数组存储的一些网站!这不就没意思了吗。用户体验几次,重复概率很大;固定长度的数组,不能做维护,网站失效也继续访问,用户体验不太友好。

于是,有趣网站盲盒项目应运而生。

方案和实现

网站需要拥有的功能:

  • 用户点击,随机产生一个网站并跳转;
  • 拥有动态的网站数据集合,能够增加和删除;
  • 拥有定期清理网站数据集功能,删除过期无效的网站,访问打开时间长的网站;
  • 用户点击次数限制,不可以无限次点击,设置4小时10次点击;
  • 全自动化托管;闭环系统,运行起来后不需要人为操作,维护成本低;

基于以上功能,我设计了网站架构,并根据目前的技术栈设计了如下的架构,并简要做下介绍。

前端

前端我期望的是,页面显示哆啦A梦的口袋,用户点击口袋,动画显示哆啦A梦从口袋掏出随机获取的网站。但是无奈自己前端不太熟,于是暂时先复用了国外的 https://sharkle.com的页面,增加了一些优化;用sweatalert2实现个性化弹窗,用ajax实现异步调用后端API获取随机网站;

后端

后端采用tornado搭建,并设计了一些模块,包括

  • 日志模块log;记录操作记录;
  • 数据收集模块collector;利用爬虫获取web要新增的网站,并对新增网站设计规则入盲盒库;
  • 数据清理模块cleaner;全量扫描数据库,设计策略,清理无效的网站;
  • 随机获取模块generator;随机从数据库中获取一个网站,并标记用户获取次数记录;
  • 定时任务模块timer;定期调用数据收集模块和数据清理模块;目前数据收集模块是每天/次,数据清理模块是周/次;
  • 手动添加模块manualor;手动增加、删除网站;

数据库

采用了mongodb和redis;mongodb存储网站,建立索引增加获取效率;redis记录用户点击次数,利用key的过期时间做点击次数限制;

盲盒网站主要架构如下:

部署

考虑到服务的稳定性,决定采用负载均衡的方式(虽然不知道后期会又多少流量,负载均衡也是伪均衡吧,因为全部部署在一台服务器上,没钱再多部署几台服务器,暂时先这样用吧)。

我们把每个BE作为一个server,在docker里部署服务,端口映射出来,同时部署四个(当然可以更多,这就是微服务,弹性可扩展的好处),通过配置nginx进行负载均衡设置,使流量均匀打到每个容器服务里;

全部完成之后,就是申请域名,域名备案等事宜了。

后续

目前收集了3300+网站,包括上文中提到的国内的任意门和国外的一个网站收集的有趣网站,在github上也搜集了一些有趣的网站,全部纳入盲盒库中。

以上就是整个项目的完整设计和架构了,从前端、后端、数据库、部署、域名、服务器、备案都是自己利用业余时间操作的,肯定有设计不合理或者不足之处,有趣盲盒网站上线之后,还请大家多多提出宝贵的意见和建议,也欢迎大家将网站分享给朋友,同时也欢迎大家投稿(投稿入口在有趣盲盒网站的左下角关于)。将你发现的有趣的好玩的网站提交给我们,让更多的人分享你的快乐。

提示:电脑浏览器体验更佳。

goSomewhere.Run

有趣网站盲盒项目设计相关推荐

  1. PHP新版资阁网址导航源码+网站盲盒

    正文: 资阁网址导航源码,网站盲盒2022,程序是单页源码,上传直接解压到根目录即可完美运行. 程序: wwrta.lanzoum.com/iyB6m09cowbe 图片:

  2. 社交电商盲盒活动方案,让消费者享受购物乐趣

    5G对互联网营销行业也会产生较大的影响,促进互联网营销从3.0的互联网媒体时代发展到侵入式媒体的智能互联网营销时代.5G会推动新内容形式的革新,从4G时代的视频到5G时代的AR/MR/VR. 盲盒不仅 ...

  3. 新盲盒星球抽奖商城手机网站源码 随机开箱抢购

    介绍: 盲盒抽奖移动端盲盒星球泡泡玛特抽盒机盲盒手机站源码商城系统 潮玩盲盒系统商城APP公众号H5一番赏盲盒源码 2022年开发的Thinkphp5盲盒商城完整运营源码/对接免签接口 1.上传源码至 ...

  4. PHP开发的爱情盲盒交友系统网站源码

    简介: PHP开发的爱情盲盒交友系统网站源码 网盘下载地址: http://kekewangLuo.net/1ytQwVyoh8o0 图片:

  5. H5幸运盒子幸运砸金蛋微信盲盒游戏网站源码

    H5幸运盒子幸运砸金蛋微信盲盒游戏网站源码(经检查代码不加密,开源),幸运盒子幸运砸金蛋微信盲盒游戏源码下载 礼物盲盒砸金蛋/红包雨/全修复版本/自带积分商城支付及登陆均已对接 最近很多人在找的虎年砸 ...

  6. H5盲盒商城网站源码开发小程序抽奖系统商城搭建 VUE+PHP后台项目

    这是H5盲盒商城网站源码开发小程序抽奖系统商城搭建 VUE+PHP后台项目(代码不加密,开源) 1.带推广二维码功能 2.含充值3级分销功能 3.盲盒回收成余/额功能 等功能 可以个性化定制开发等 源 ...

  7. 国内外盲盒网站开发建设(多语言中英文) 第一篇

    最近,听朋友都说,最近这个盲盒网站项目很火的,特别是盲盒商城,盲盒交友网站的那些,所有我就根据朋友的想法来开发出一套关于盲盒的项目,最近由于公司年会的事情,比较忙,没有把这个项目放到博客中,希望大家能 ...

  8. 脱单盲盒源码,线上脱单盲盒网站源码分析下载,脱单盲盒线上版源码开发

    在年轻人群体中流行的"盲盒"衍生出了新玩法,成为一种新型的交友方式.近日,一些"脱单盲盒"的摊位出现在广州街头夜市,顾客只要花一块钱就可买到一位异性的联系方式, ...

  9. 国外多语言盲盒商城网站源码开发搭建 VUE+PHP后台项目

    这是H5盲盒商城网站源码开发小程序抽奖系统商城搭建 VUE+PHP后台项目(代码不加密,开源) 1.带推广二维码功能 2.含充值3级分销功能 3.盲盒回收成余/额功能 等功能 可以个性化定制中文,英文 ...

最新文章

  1. Oracle 数据库-服务器端字符集查看方法
  2. 【体验】朗读机器人是如何炼成的!带你体验TTS语音合成模块,B719语音合成模块效果测试...
  3. Qtum量子链受邀出席日本早稻田研究所区块链教育讲座
  4. 在Linux执行命令报错”Arg list too long”的原因分析
  5. SAP Cloud Platform integration上创建一个最简单的iFlow
  6. 为什么注册页面刷新一次,数据库就多了一条数据?????
  7. 限制网速软件_最具良心的三款下载软件丨你pick哪款?
  8. python中MySQLdb模块用法实例
  9. js 获取指定范围的随机数
  10. Drools 文档(目录)
  11. 平面设计banner排版技巧哪些比较实用
  12. KEIL MDK中 warning: #223-D: function “xxx“ declared implicitly 解决方法
  13. 求解会议安排问题A - RJ501求解会议安排问题
  14. 021—转载-各种数据类型在16位、32位和64位系统下所占字节差异简介
  15. Redis(八):zset/zadd/zrange/zrembyscore 命令源码解析
  16. sld样式文件demo
  17. 网络和VPC简单介绍
  18. ChatGPT初体验-帮我写一本奇幻冒险小说(Aethia的勇士)
  19. 虚拟带库(VTL)备份恢复解决方案
  20. 再次写给我们这些浮躁的程序员

热门文章

  1. 【附源码】Java计算机毕业设计高校教师教学助手系统的设计与实现(程序+LW+部署)
  2. 五篇教你掌握spring之三:详解Spring的bean以及注解开发
  3. 基于STM32F1的手势识别PJ7602和测温报警MLX90614
  4. ESP8266 wifi killer固件汉化版web ui界面wifi名字存在xss注入
  5. 结构体在内存中的存储方式
  6. SonarQube代码质量检查工具攻略大全
  7. 内链接与外连接的区别
  8. 运用BeanUtils构建通用的查询 更新方法(个人拙作,不喜勿喷)
  9. 回望2017,基于深度学习的NLP研究大盘点
  10. Mybatis 嵌套循环Map