从内涵段子被下架、快手禁用评论探讨其背后的技术细节

简介: 最近闹得沸沸扬扬的是内涵段子被下架,无数网友表示很舍不得,紧接着抖音、快手都在做整改。我当时看到这个新闻的时候不是看内容如何,而是凭借着职业习惯,第一眼就想到了为啥它们这些app可以快速响应国家政策,做出调整?技术上是如何实现的?下面我凭自己的开发经验大概的讲一下如果是我做我会怎么做,思路如下:写这篇文章的目的:不是为了凑数写的,而是从技术层面去分析大型app可能会怎么做,我们不光要看一个事件,还要要看背后的技术实现。

最近闹得沸沸扬扬的是内涵段子被下架,无数网友表示很舍不得,紧接着抖音、快手都在做整改。我当时看到这个新闻的时候不是看内容如何,而是凭借着职业习惯,第一眼就想到了为啥它们这些app可以快速响应国家政策,做出调整?技术上是如何实现的?下面我凭自己的开发经验大概的讲一下如果是我做我会怎么做,思路如下:

写这篇文章的目的:不是为了凑数写的,而是从技术层面去分析大型app可能会怎么做,我们不光要看一个事件,还要要看背后的技术实现。假如我们自己的app遇到类似情况,如何能够快速响应政策变化做出调整。本文内容因为是以个人的理解写的,可能有考虑不周的和错误之处,欢迎大家指教。

(一)内涵段子被下架

  • 从技术层面来讲,这个是很简单的,把所有的app从应用市场下架,然后把后台接口全部封闭,原来已经安装的app界面上是一片空白,因为后台接口没了,所以以前外链分享出去的url也是全部打不开的。所以这个是很好处理的。

  • 一般来讲,用户量如此庞大的项目,后台接口是很规范的,比如restful风格的接口,一般会返回类似于这样的接口:

{
  "errorCode": 1,
  "errorMsg": "请求失败",
  "data": {
     "message": "Problems parsing JSON"
  }
}

由于后台接口没有返回数据了,界面上自然都是空白,你看内涵段子上面的所有的列表的item都显示的是同一个View,就是下面的这个声明。其实只要把所有的item替换成为本地的图片就可以了。(个人理解,如有错误,欢迎指出)

(二)关于抖音、快手等同类型app禁用评论功能、关闭直播功能、上线防沉迷系统等的技术层面解读

一个用户量如此庞大的app,想必比会用到了一些架构设计,比如插件化、热更新等技术,后台这边给出的接口应该是给每个接口都预留有一个开关,防止意外情况发生时刻有快速关闭接口。

比如说看视频是一个模块,直播是一个模块,评论是一个模块,点赞是一个模块,分享也是一个模块,拍视频是一个模块。整个app是由多个模块组合而成的,整体app通过插件化或者组件化开发的思想,把这些不同的模块加载进来就形成了一个完整的app。很多功能模块都是可以由后台配置的,就连这个跳转路径也是可以控制的。

我在群里看到美团大佬 大白 的一段话很经典,借此引用一下,感觉很有意义:

比如我的直播是一个本地路由,我服务器下发一个web路由,立马就被定向到了h5,本地的直播页面就被干掉了,等本地版本更新后 再慢慢上用户更新

还有一个问题,app的评论功能突然被禁用?怎么快速做到这个?

  • 假如是原生开发的情况下!
    我第一感觉可能是用的热更新,就是后台对这一部分的接口返回的是空白的,或者把评论开关关闭,前台页面显示的空白,并且点击评论那里既不能编辑,也不能点击,这样才做到的评论彻底被禁用,最后把评论功能的代码去掉,推送一个热更新包,下次打开app的时候就不能评论了。

  • 假如是h5页面,那就由负责写前端页面的哥们写页面逻辑,相对来说,这种变化比较好处理,只需要根据对应的接口更改页面就好了,对用户的app无需推送热更新包。

至于上线防沉迷系统,这就是新增了一个模块而已,属于正常开发中的新增功能,把它单独做成一个模块,然后通过插件化思想,加载进去,然后模块里面会做一些统计数据分析,确保真正做到防沉迷。这个没什么多说的。做好之后给用户推送新版本,或者app市场上架全新版本。


个人能力有限,暂且只能解读这么多,如有错误和不足之处,也欢迎各位大佬指正和补充。感谢大家的支持!


【好消息】我的微信公众号正式开通了,关注一下吧!
关注一下我的公众号吧
相关文章
|
负载均衡 应用服务中间件 nginx
IIS的反向代理
IIS的反向代理
1016 0
|
编解码 人工智能 自然语言处理
AIGC基础模型——扩散模型(Diffusion Model)
【1月更文挑战第23天】AIGC基础模型——扩散模型(Diffusion Model)
1006 1
AIGC基础模型——扩散模型(Diffusion Model)
|
3月前
|
分布式计算 数据可视化 数据挖掘
有哪些好用的BI产品?国内外BI工具推荐
在数字化转型浪潮下,企业亟需高效BI工具赋能决策。本文精选5款主流BI产品,涵盖瓴羊Quick BI、Tableau、Power BI、永洪BI与Smartbi,从功能、优势到应用案例全面解析,助力企业精准选型,实现数据驱动增长。
|
JavaScript Java 测试技术
基于小程序的小说阅读器+springboot+vue.js附带文章和源代码设计说明文档ppt
基于小程序的小说阅读器+springboot+vue.js附带文章和源代码设计说明文档ppt
246 0
Mac Brew install慢的问题
Mac Brew install慢的问题
391 1
|
SQL 缓存 运维
使用篇丨链路追踪(Tracing)很简单:链路实时分析、监控与告警
使用篇丨链路追踪(Tracing)很简单:链路实时分析、监控与告警
6871 91
使用篇丨链路追踪(Tracing)很简单:链路实时分析、监控与告警
|
算法 调度 决策智能
Python高级算法——模拟退火算法(Simulated Annealing)
Python高级算法——模拟退火算法(Simulated Annealing)
1737 1
|
开发框架 JavaScript 前端开发
JavaScript框架比较与选择:技术深度剖析
【7月更文挑战第23天】选择正确的JavaScript框架是项目成功的关键。React.js、Vue.js、Angular和Svelte等前端框架各有千秋,分别适用于不同的项目需求。同时,Node.js及其后端框架为服务器端开发提供了强大的支持。开发人员应根据项目的复杂性、性能要求、开发周期以及团队技能等因素综合考虑,选择最适合的框架。随着技术的不断发展,未来还将涌现更多优秀的JavaScript框架,为开发者带来更多选择和可能性。
|
人工智能 安全 JavaScript
太壕了!堪比copilot的阿里编码助手免费用还送礼品
阿里云通义灵码,AI编码助手下载量超150万,集成于VS Code和JetBrains等,支持多种语言。它能智能生成代码、单元测试和注释,快速解答研发问题,确保代码安全。免费且强大,已成国内开发者首选。立即体验:[链接](https://www.aliyun.com/page-source/developer/special/lingma/activities/202403?taskCode=14508&recordId=03941f813393f7757af18d0468c5c1e0#/?utm_content=m_fission_1)。